“找不到符号”错误

Posted

技术标签:

【中文标题】“找不到符号”错误【英文标题】:"cannot find symbol" error 【发布时间】:2011-10-15 02:33:55 【问题描述】:

我正在制作一个非常基本的计算器程序(我对 Java 还很陌生。)我正在使用 java.io.Console 包从命令行输入,我的代码如下所示:

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--;





但是当我尝试编译程序时,我得到了这个:

/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

我不明白...有问题的变量之前没有定义或任何东西...我很确定它们存在于代码中...任何人都可以找出错误吗?

(p.s. 我知道它真的很笨重和臃肿,我可能可以用一半的行来完成它,但请耐心等待。)

-rulla101

【问题讨论】:

您使用的是什么编译器(版本/供应商)?另外,尝试将这些变量的分配声明从int 更改为Integer。老实说,我不知道这有什么关系,但 Integer.parseInt 返回一个 Integer 的对象(应该在你的作业中转换为原始类型。真的很好奇。 我正在使用 Mac OSX 附带的 javac 编译器。你通过终端执行它。 【参考方案1】:

查看三个错误。

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--;

【讨论】:

我也觉得很笨,因为我没看到:)。

以上是关于“找不到符号”错误的主要内容,如果未能解决你的问题,请参考以下文章

“找不到符号”或“无法解析符号”错误是啥意思?

“找不到符号”或“无法解析符号”错误是啥意思?

java package找不到符号

java 中总是出现找不到符号 是怎么回事

java里显示找不到符号?

错误找不到符号变量 id