Salut, je viens juste de commencer mon premier livre de programmation sur Java, donc ça devrait être une solution facile . Je m'amuse avec ma nouvelle connaissance des conditionnels et je reçois l'erreur de titre.
Voici le 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." );
}
}
Quand j'essaye de compiler:
Music.Java:13: error: cannot find symbol
y = input.nextInt();
symbol: variable input
location: class Music
1 error
Le message d'erreur vous indique que votre variable 'input' n'existe pas dans votre scope. Vous souhaitez probablement utiliser votre objet Scanner, mais vous l'avez nommé "x" et non "entrée".
Scanner input = new Scanner( System.in );
Devrait le réparer.
Vous n'avez pas défini la variable input
ici. Tu aurais dû:
Scanner input = new Scanner( System.in );
Alternativement, vous pouvez simplement changer:
y = input.nextInt();
À:
y = x.nextInt();
Alors ça va marcher.
En effet, input
n'est défini nulle part dans le code. Le code fourni suggère que vous pensez qu'il s'agira d'une instance de la classe Scanner
. Mais l'instance de la classe Scanner
est en réalité définie comme étant x
et non input
.
Vous avez utilisé l'entrée variable, comme dans
y=input.nextInt();
Vous ne pouvez pas faire cela, car ce n'est pas une variable. Je crois que vous vouliez que ce soit "x", ou vous pourriez remplacer
Scanner x = new Scanner( System.in );
avec
Scanner input = new Scanner( System.in );
Scanner x = new Scanner( System.in );
int y = x.nextInt();
Scanner input = new Scanner( System.in );
int y = input.nextInt();
(ou)
Scanner x = new Scanner( System.in );
int y = x.nextInt();