Объявление бесполезной локальной переменной
Так что это странно, я знаю, что сам код довольно бесполезен, но что яМне интересно, почему я получаю ошибку:
Я писал некоторый код, я написал это:
if(scan.hasNextInt())
int row = scan.nextInt();
WASN»Я не думаю о переменной области в то время, очевидно, это бесполезно, потому что я могут использоватьrow
мимоif
тем не мение. Что я не делаюя понял, почему я сделал ошибку, которую я сделал:
> 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();
^
Теперь, если я просто изменить это, если проверить:
if(scan.hasNextInt()) {
int row = scan.nextInt();
}
Это будет хорошо скомпилировать. У меня сложилось впечатление, что если бы была 1 строка подif
фигурные скобки были необязательными ... очевидно, есть и другие соображения, иначе оба скомпилируются или потерпят неудачу.
Может ли кто-нибудь объяснить мне или указать мне документ, который объясняет, почему я могуобъявить локальную переменную подif
условно без фигурных скобок?
РЕДАКТИРОВАТЬ: Вот's полная функция:
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';
}