嘿,我刚刚开始编写关于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
答案 0 :(得分:16)
错误消息告诉您示波器中不存在您的变量'input'。您可能想要使用Scanner对象,但是将其命名为“x”,而不是“输入”。
Scanner input = new Scanner( System.in );
应该修理它。
答案 1 :(得分:8)
您尚未在此处定义变量input
。你应该:
Scanner input = new Scanner( System.in );
答案 2 :(得分:2)
您使用了变量输入,如
y=input.nextInt();
你不能这样做,因为它不是变量。我相信你的意思是“x”,或者你可以替换
Scanner x = new Scanner( System.in );
与
Scanner input = new Scanner( System.in );
答案 3 :(得分:2)
或者,你可以改变:
y = input.nextInt();
致:
y = x.nextInt();
然后它会起作用。
这是因为input
未在代码中的任何位置定义。提供的代码表明您希望它是Scanner
类的实例。但Scanner
类的实例实际上定义为x
而不是input
。
答案 4 :(得分:0)
Scanner x = new Scanner( System.in );
int y = x.nextInt();
答案 5 :(得分:0)
Scanner input = new Scanner( System.in );
int y = input.nextInt();
(或)
Scanner x = new Scanner( System.in );
int y = x.nextInt();
答案 6 :(得分:-2)
这是简单的修复y = x.nextInt();而不是y = input.nextInt();