Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Java] Cant find variables in Java

Initiate Mage
Joined
Aug 5, 2008
Messages
2
Reaction score
0
I am working on this application (coded in Java) which im trying to get information about certain things. But when i try to compile it says a variable is not found, even though it is clearly defined. Its not quite completely funciontal yet so... bare with it.

Its saying grad year cannot be found but all the other variable from the parent class work. Any Suggestions?

Code:
class HighSchool extends Project8Driver
   {
       public HighSchool()
      {
         int gradYear;
         System.out.print("What year do you plan to graduate? ");
         gradYear = scan.nextInt();
         System.out.print("How many credits do you need to aquire before you can graduate? ");
         int credLeft = scan.nextInt();
         System.out.print("What did you score on the SAT? ");
         int SAT = scan.nextInt();
         System.out.print("How many AP credits do you have? ");
         int apCred = scan.nextInt();
      
      }
   
       public String toString()
      {
         return "Name: " +name+ "\nAge: "+age+ "\nID: "+id+"\n Graduation year: " + gradYear;
      }
   
   }

Code:
 import java.util.Scanner;
    class Project8Driver
   {
      static int age, id;
      static double gpa;
      static String schoolName, name;
      static Scanner scan = new Scanner(System.in);
       public static void main(String[]args)
      {
      // gather general info
      /*	System.out.print("Please enter your name: ");
      name = scan.next();
      System.out.print("Please enter your age: ");
      age = scan.nextInt();
      System.out.print("Please enter your school's name: ");
      schoolName = scan.next();
      System.out.print("Please enter your ID: ");
      id = scan.nextInt();
      System.out.print("Please enter your current GPA: ");
      gpa = scan.nextDouble();*/
      
         int userChoice = 1;
         while (userChoice != 0)
         {
            menu();
            userChoice = scan.nextInt();
            menuSwitch(userChoice);
         }
      
      }
   
       public static void menuSwitch(int choice)
      {
         int num;
         switch(choice)
         {
            case 4:
              /* int gradYear;
            	System.out.print("Please enter your expected graduation year: ");
            	gradYear = scan.nextInt(); */
               MiddleSchool mStudent = new MiddleSchool();
               System.out.println(mStudent);
            	
               break;
            case 1:
            	/*int gradYear, numOfCreditsRemaining, satScore, apCredits;
            	System.out.print("Please enter your expected graduation year: ");
            	gradYear = scan.nextInt();
            	System.out.print("Please enter the number of credits remaining for you to graduate: ");
            	numOfCreditsRemaining = scan.nextInt();
            	System.out.print("Please enter your SAT score: ");
            	satScore = scan.nextInt();
            	System.out.print("Please enter your number of AP credits: ");
            	apCredits = scan.nextInt(); */
               HighSchool hsStudent = new HighSchool();
               System.out.println(hsStudent);
            case 2:
            	/*boolean time;
            	int pTime, status;
            	String major, minor;
            	System.out.print("Please enter your major: ");
            	major = scan.next();
            	System.out.print("Please enter your minor: ");
            	minor = scan.next();
            	System.out.print("Are you a full time or part time student? (1 - full time, 2 - part time) ");
            	pTime = scan.nextInt();
            	if (pTime == 1)
            		time = true;
            	else
            		time = false;
            	System.out.print("Are you an Undergratuate or Graduate? (1 - Graduate, 2 - undergraduate) ");
            	status = scan.nextInt();
            	if (status == 1)
            	{
            		System.out.print("What type of degree are you aquiring? ");
            		String degreeType = scan.next();
            		System.out.print("What was your score on the GRE? ");
            		int greScore = scan.nextInt();
            	}
            	else if (status == 2)
            	{
            		System.out.print("Please enter your exam 1 grade: ");
            		int examOne = scan.nextInt();
            		System.out.print("Please enter your exam 2 grade: ");
            		int examTwo = scan.nextInt();
            		// create for loop to gather grades and put them in an array
            		for (int i = 1; i <= 14; i++)
            		{
            			System.out.print("Please enter Activity grade for Activity " + i +" : ");
            			//array[i-1] = scan.nextInt();
            		}
            		for (int j = 1; j <= 14; j++)
            		{
            			System.out.print("Please enter Exercise grade for Exercise "+j+" : ");
            			//exerciseArray[j-1] = scan.nextInt();
            		}
            		for (int k = 1; k <= 14; i++)
            		{
            			System.out.print("Please enter project grade for Project " + k +" : ");
            		//	arrayProjects[k-1] = scan.nextInt();
            		} */
               break;
         		
            default:
               System.out.println("Invalid choice");
         }
      }
   
       public static void menu()
      {
         System.out.print("Please enter your name: ");
         name = scan.next();
         System.out.print("Please enter your age: ");
         age = scan.nextInt();
         System.out.print("Please enter your school's name: ");
         schoolName = scan.next();
         System.out.print("Please enter your ID: ");
         id = scan.nextInt();
         System.out.print("Please enter your current GPA: ");
         gpa = scan.nextDouble();
         System.out.println("\tWhat type of stuent are you? ");
         System.out.println("*************");
         System.out.println("0: Middle School");
         System.out.println("1: High School");
         System.out.println("2: College");
         System.out.println("3: Quit");
         System.out.print("\nEnter your choice: ");
      }
   
   }
 
duck you, I'm a dragon
Loyal Member
Joined
Apr 29, 2005
Messages
6,407
Reaction score
130
Re: Cant find variables in Java

I don't know if you copy and pasted the error message, but the error says "grad year" while in your code it says "gradyear".
 
Joined
Dec 1, 2007
Messages
2,795
Reaction score
480
Re: Cant find variables in Java

You declared the variables locally to their methods. When you declare a variable like this:

Code:
class MyClass {
  void MyFunc() {
    int myVar = 5;
  }
}

myVar is only accessible within MyFunc(). If want myVar to be accessible to all methods in the class, you have to make it a property of the class:

Code:
class MyClass {
  int myVar = 5;

  void MyFunc() {
  }
}

Thought I would post in this one because the other one will probably get deleted.
 
Initiate Mage
Joined
Aug 5, 2008
Messages
2
Reaction score
0
Re: Cant find variables in Java

I gots it to work now well
thank for this parker.
 
Back
Top