Ошибка компиляции Java: не удается найти символ
Эй, я только начинаю свою первую книгу по программированию на Java, поэтому это должно быть легким решением.
Общаюсь с моим новым знанием условностей, и я получаю ошибку названия.
Здесь код:
import java.util.Scanner;
public class Music
{
public static void main( String[] args )
{
Scanner x = new Scanner( System.in );
int y;
System.out.print( "Which is better, rap or metal? 1 for rap, 2 for metal, 3 for neither" );
y = input.nextInt();
if ( y == 1 )
System.out.print( "Someone hasn't heard\nhttp://www.youtube.com/watch?v=Vzbc4mxm430\nyet" );
if ( y == 2 )
System.out.print( "Someone hasn't heard\nhttp://www.youtube.com/watch?v=s4l7bmTJ7j8\nyet" );
if ( y == 3 )
System.out.print( "=/ \nMusic sucks anyway." );
}
}
Когда я пытаюсь скомпилировать:
Music.java:13: error: cannot find symbol
y = input.nextInt();
symbol: variable input
location: class Music
1 error
Ответы
Ответ 1
В сообщении об ошибке сообщается, что ваша переменная 'input' не существует в вашей области. Вероятно, вы захотите использовать свой объект Scanner, но вы назвали его "x", а не "input".
Scanner input = new Scanner( System.in );
Должен его исправить.
Ответ 2
Здесь вы не указали переменную input
. Вы должны иметь:
Scanner input = new Scanner( System.in );
Ответ 3
Вы использовали переменный ввод, как в
y=input.nextInt();
Вы не можете этого сделать, потому что это не переменная. Я полагаю, вы имели в виду, что это "x", или вы могли бы заменить
Scanner x = new Scanner( System.in );
с
Scanner input = new Scanner( System.in );
Ответ 4
В качестве альтернативы вы можете просто изменить:
y = input.nextInt();
To:
y = x.nextInt();
Тогда это сработает.
Это потому, что input
не определен нигде в коде. Предоставленный код предполагает, что вы ожидаете, что это экземпляр класса Scanner
. Но экземпляр класса Scanner
на самом деле определяется как x
, а не input
.
Ответ 5
Scanner x = new Scanner( System.in );
int y = x.nextInt();
Ответ 6
Scanner input = new Scanner( System.in );
int y = input.nextInt();
(или)
Scanner x = new Scanner( System.in );
int y = x.nextInt();
Ответ 7
это простое решение y = x.nextInt(); вместо y = input.nextInt();