Natrafiłem na takie zadanie:Napisz program, który odczytuje od użytkownika wartość z obojętnie jakiego zakresu. Jeśli liczba jest ujemna – liczy ją do zera (cyfrowo – niesłownie). Jeśli wynosi zero – program wyświetla tylko tą wartość. Jeśli powyżej zera – zlicza od tej liczby do zera. Co jest nie tak z moim kodem? Oczywiście zamiast odpowiedniej instrukcji w case'ach wpisałem tylko d lub dd, lub ddd, żeby wiedzieć czy dobrze zadziała, jednak tak nie jest. W pierwszym przypadku wyświetla d,dd,ddd, w drugim dd,ddd, w trzecim ddd.
Dopiero zaczynam się uczyć i wyczytałem, że Switch obsługuje tylko int do Javy6, więc chciałem ich użyć wykorzystując if.
int liczba;
System.out.println("Podaj liczbę: ");
Scanner skaner = new Scanner(System.in);
liczba = skaner.nextInt();
if(liczba>0){
liczba=1;
}
else if(liczba==0){
liczba=2;
}
else if(liczba<0){
liczba=3;
}
switch(liczba){
case 1:
System.out.println("d");
case 2:
System.out.println("dd");
case 3:
System.out.println("ddd");
break;
default:
System.out.println("Źle wybrałeś.");
}