为什么它一直告诉我它找不到符号?

时间:2013-06-19 04:01:55

标签: java

其他第2章示例文件正常工作。我无法弄清楚为什么这个特殊类有这些问题 - 我在收到错误的地方会在评论中标注。

package chapter2;

public class DataTypeConversion {
    public static void main(String[] args) {
        double x;
        int pies = 10; //error: not a statement
        x = y; //error: cannot find symbol: variable y

        int pies = 10, people = 4;
        double piesPerPerson;
        piesPerPerson = pies / people;
        piesPerPerson = (double) pies / people;

        final double INTEREST_RATE = 0.069; //Note that the variable name does not have
        amount = balance * 0.069; //error: cannot find symbol: variable: amount 
        amount = balance * INTEREST_RATE;
    }
}

我的目标是将此代码用作独立的Java文件,因此我不知道它为何如此抱怨。有什么想法吗?

4 个答案:

答案 0 :(得分:3)

您必须在使用之前声明变量。在顶部添加此行:

double y, amount, balance;

答案 1 :(得分:1)

  • y在使用前未声明或初始化。例如:int y = 0;(注意,y应该是int,因为练习表明缩小/扩大概念)
  • pies被声明两次,第30和41行。删除第30行。
  • amount未声明。例如:double amount = balance * 0.069;
  • balance在使用前未声明或初始化,例如:double balance = 10.0;(必须完成 在尝试与第59行中的amount一起使用之前

我认为在这个阶段需要记住的关键是,在第一次使用变量之前,必须将其声明为特定的数据类型。例如:intdoubleString等。一个好的做法,特别是作为学生(我是),是在代码块的开头声明所有变量(声明它们的类/方法/函数等)。

答案 2 :(得分:0)

我不确定y是什么假设是平等的,但你没有在任何地方对它进行十分认证,所以Java对它一无所知......

您可以尝试类似......

double x, y, amount, balance; // Might as weel add amount and balance cause they'll cause you errors now...
int pies = 10;//error: not a statement
x = y; // But this is garbage as y's value is undefined

答案 3 :(得分:0)

重复变量声明:

 int pies = 10;

int pies = 10, people = 4;