Search code examples
javavariablescalculatorundefined-symbol

"cannot find symbol" error


I am making a really basic calculator program (I'm fairly new to Java.) I'm using the java.io.Console package for input from the command line, and my code looks like this:

import java.io.Console;

public class calculator {

public static void main(String args[]) {

Console console = System.console();
int exit = 1;


System.out.println("Calculator v1.0 by rulla101");
System.out.println(" ");

String inputselect = console.readLine("Type add, sub, mlt, or div to select operation: ");

if (inputselect == "add") {

//ADDING!!!
while(exit > 0) {

String input1a = console.readLine("Input number 1: ");
int a = Integer.parseInt(input1a);

String input2a = console.readLine("Input number 2: ");
int b = Integer.parseInt(input2a);

System.out.println("The answer is:");
System.out.println(a+b);

String exitstringa = console.readLine("Type 0 to exit, type 1 to add two more numbers: ");
int extseta = Integer.parseInt(exitstringa);

if(extseta == 0){
    exit--; 
    }
}

}
else if (inputselect == "sub") {

//SUBTRACTING!

while(exit > 0) {

String input1s = console.readLine("Input number 1: ");
int c = Integer.parseInt(input1s);

String input2s = console.readLine("Input number 2: ");
int d = Integer.parseInt(input2s);

System.out.println("The answer is:");
System.out.println(c-d);

String exitstrings = console.readLine("Type 0 to exit, type 1 to subtract two more numbers: ");
int extsets = Integer.parseInt(exitstrings); 

if(exitsets == 0){
    exit--;
}

}

}
else if (inputselect == "mlt"){

//MULTIPLYING!!

while(exit > 0) {

String input1m = console.readLine("Input number 1: ");
int e = Integer.parseInt(input1m);

String input2m = console.readLine("Input number 2: ");
int f = Integer.parseInt(input2m);

System.out.println("The answer is:");
System.out.println(e*f);

String exitstringm = console.readLine("Type 0 to exit, type 1 to multiply two more numbers: ");
int extsetm = Integer.parseInt(exitstringm); 

if(exitsetm == 0){
    exit--;
}
}
}
else if (inputselect == "div"){

//DIVIDING!!

while(exit > 0) {

String input1d = console.readLine("Input number 1: ");
int g = Integer.parseInt(input1d);

String input2d = console.readLine("Input number 2: ");
int h = Integer.parseInt(input2d);

System.out.println("The answer is:");
System.out.println(g/h);

String exitstringd = console.readLine("Type 0 to exit, type 1 to divide two more numbers: ");
int extsetd = Integer.parseInt(exitstringd); 

if(exitsetd == 0){
    exit--;
}
}
}
}
}

But when I try to compile the program, I get this:

/Users/ethan/javafolder/calculator/calculator.java:58: cannot find symbol
symbol  : variable exitsets
location: class calculator
    if(exitsets == 0){
       ^
/Users/ethan/javafolder/calculator/calculator.java:83: cannot find symbol
symbol  : variable exitsetm
location: class calculator
    if(exitsetm == 0){
       ^
/Users/ethan/javafolder/calculator/calculator.java:106: cannot find symbol
symbol  : variable exitsetd
location: class calculator
    if(exitsetd == 0){
       ^
3 errors


Done

I don't understand...the variables in question aren't previously defined or anything...and I'm pretty sure that they exist in the code...can anyone pick out the bug?

(p.s. I know it's really bulky and bloated, and I could probably do it in half as many lines, but bear with me. Please.)

-rulla101


Solution

  • Look at three errors.

    int extsets = Integer.parseInt(exitstrings); 
    
    if(exitsets == 0){ //must be extsets
        exit--;
    }
    
    
    int extsetm = Integer.parseInt(exitstringm); 
    
    if(exitsetm == 0){  //must be  extsetm
        exit--;
    }
    
    
    int extsetd = Integer.parseInt(exitstringd); 
    
    if(exitsetd == 0){  //must be extsetd
        exit--;
    }