21

ねえ、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
4

7 に答える 7

17

エラー メッセージは、変数 'input' がスコープに存在しないことを示しています。おそらく Scanner オブジェクトを使用したいのですが、名前を「input」ではなく「x」にしました。

Scanner input = new Scanner( System.in );

それを修正する必要があります。

于 2012-09-02T15:31:43.300 に答える
8

ここでは変数を定義していませんinput。あなたが持っている必要があります:

Scanner input = new Scanner( System.in );
于 2012-09-02T15:31:51.657 に答える
2

または、次のように変更することもできます。

y = input.nextInt();

に:

y = x.nextInt();

それはうまくいくでしょう。

これは、inputがコードのどこにも定義されていないためです。Scanner提供されたコードは、それがクラスのインスタンスであることを期待していることを示唆しています。しかし、Scannerクラスのインスタンスは、実際にはxではなくとして定義されていinputます。

于 2012-09-02T15:56:25.427 に答える
2

次のように、変数入力を使用しました

y=input.nextInt();

これは変数ではないため、これを行うことはできません。「x」にするつもりだったと思いますが、置き換えることもできます

Scanner x = new Scanner( System.in );

Scanner input = new Scanner( System.in );
于 2012-09-02T15:33:52.013 に答える
0
 Scanner x = new Scanner( System.in ); 
 int y = x.nextInt();
于 2013-04-20T06:05:23.477 に答える