więc jest to dziwne, jeden, wiem sam kod jest całkiem bezużyteczny, ale co zastanawiam się, dlaczego pojawia się błąd:Deklarowanie bezużyteczną lokalną zmienną
Pisałam jakiś kod, ja napisałem ten :
if(scan.hasNextInt())
int row = scan.nextInt();
nie myślał o zmiennym zakresie w czasie, oczywiście jest to bezużyteczne, bo nie mogą korzystać row
piłkę if
tak. Co ja nie rozumiem dlaczego mam błąd robiłam:
> javac hw.java
hw.java:25: '.class' expected
int row = scan.nextInt();
^
hw.java:25: not a statement
int row = scan.nextInt();
^
hw.java:25: illegal start of expression
int row = scan.nextInt();
^
hw.java:25: ';' expected
int row = scan.nextInt();
^
Teraz gdybym tylko modyfikować że jeśli czek do:
if(scan.hasNextInt()) {
int row = scan.nextInt();
}
będzie skompilować w porządku. Miałem wrażenie, że jeśli pod linią if
znajduje się 1 linia, nawiasy klamrowe były opcjonalne ... oczywiście są też inne względy, albo obie kompilowałyby się albo zawodziły.
Czy ktoś może mi wyjaśnić, lub wskazać dokument, który wyjaśnia, dlaczego nie mogę zadeklarować zmiennej lokalnej pod warunkiem warunkowym bez nawiasów klamrowych?
EDIT: Oto pełna funkcja:
public static char getinput() {
System.out.println("Where do you want to go? (row column)");
Scanner scan = new Scanner(System.in);
if(scan.hasNextInt())
int row = scan.nextInt();
String input = scan.next();
System.out.println(input);
return 'a';
}
co jest przed i po że "jeśli"? –
Proszę wpisać pełny kod tutaj –
@NikolayKuznetsov - Patrz edycja. – Mike