Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java compile error: cannot find symbol [duplicate]

Tags:

Hey I'm just starting my first programming book on java so this should be an easy fix. Messing around with my fresh knowledge of conditionals and I'm getting the title error.

Here's the 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." );     } } 

When I try to compile:

Music.java:13: error: cannot find symbol y = input.nextInt();    symbol: variable input location: class Music 1 error 
like image 345
user1641994 Avatar asked Sep 02 '12 15:09

user1641994


People also ask

What to do if Cannot find symbol in Java?

In the above program, "Cannot find symbol" error will occur because “sum” is not declared. In order to solve the error, we need to define “int sum = n1+n2” before using the variable sum.

What does a Cannot find symbol or Cannot resolve symbol error mean?

The cannot find symbol error, also found under the names of symbol not found and cannot resolve symbol , is a Java compile-time error which emerges whenever there is an identifier in the source code which the compiler is unable to work out what it refers to.

What does error class expected mean in Java?

The class interface or enum expected error is a compile-time error in Java which arises due to curly braces. Typically, this error occurs when there is an additional curly brace at the end of the program.


1 Answers

The error message is telling you that your variable 'input' doesn't exist in your scope. You probably want to use your Scanner object, but you named it 'x', not 'input'.

Scanner input = new Scanner( System.in ); 

Should fix it.

like image 87
Neal Avatar answered Oct 07 '22 21:10

Neal