webentwicklung-frage-antwort-db.com.de

Java-Kompilierungsfehler: Symbol kann nicht gefunden werden

Hey, ich fange gerade mit meinem ersten Programmierbuch auf Java an, daher sollte dies eine einfache Lösung sein.

Hier ist der Code:

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." );
    }
}

Wenn ich versuche zu kompilieren:

Music.Java:13: error: cannot find symbol
y = input.nextInt();



symbol: variable input
location: class Music
1 error
19
user1641994

Die Fehlermeldung informiert Sie darüber, dass Ihre Variable 'input' in Ihrem Gültigkeitsbereich nicht vorhanden ist. Sie möchten Ihr Scanner-Objekt wahrscheinlich verwenden, haben es aber "x" und nicht "input" genannt. 

Scanner input = new Scanner( System.in );

Sollte es beheben.

16
Neal

Sie haben hier die Variable input nicht definiert. Du solltest haben:

Scanner input = new Scanner( System.in );
8
Reimeus

Alternativ können Sie einfach ändern:

y = input.nextInt();

Zu: 

y = x.nextInt();

Dann wird es klappen. 

Dies liegt daran, dass input nirgendwo im Code definiert ist. Der bereitgestellte Code legt nahe, dass Sie davon ausgehen, dass es sich um eine Instanz der Scanner-Klasse handelt. Die Instanz von Scanner class ist jedoch als x und nicht als input definiert.

2
Derek W

Sie haben die Variableneingabe wie in verwendet 

y=input.nextInt();

Sie können das nicht tun, weil es keine Variable ist. Ich glaube, du meintest "x", oder du könntest es ersetzen

Scanner x = new Scanner( System.in );

mit

Scanner input = new Scanner( System.in );
2
flygoing
 Scanner x = new Scanner( System.in ); 
 int y = x.nextInt();
0
karthik
Scanner input = new Scanner( System.in );
int y = input.nextInt();

(oder)

Scanner x = new Scanner( System.in ); 
int y = x.nextInt();
0
sakthi