2013-06-19 46 views
0

其他第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文件,所以我不知道为什么它的抱怨这么多。有任何想法吗?

+3

至于我可以看到你还没有宣布任何地方'或amount''y' – MadProgrammer

+0

或y或平衡。你必须在使用它们之前声明它们 – Jason

+0

你的'INTEREST_RATE'没有什么特别的;它只是一个恰好是“最终”的变量。请注意,按照惯例,大写字母加下划线用于“静态”变量。 – fge

回答

3

您必须在使用它们之前声明您的变量。在顶部加入这一行:

double y, amount, balance; 
+0

+1的数量和平衡......虽然不确定,但不知道它是什么... – MadProgrammer

0

我不知道什么y被假设是平等的,但你没有任何地方decalred,所以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 
1
  • y未声明或在使用前进行初始化。例如:int y = 0;(注意,y应该是一个int,由于锻炼展示变窄/加宽概念)
  • pies被声明两次,线30和41移除管线30
  • amount未声明。例如:double amount = balance * 0.069;
  • balance未声明或使用之前进行初始化,如:double balance = 10.0;

我认为你需要在此要记住的关键(必须试图在59行与amount用它做过 )阶段是在第一次使用变量之前,它必须被声明为特定的数据类型。例如:int,double,String等。一个好的做法,特别是作为一个学生(我是),是在代码块(类/方法/函数等)的开头声明所有变量被宣布。

0

重复的变量声明:

int pies = 10; 

int pies = 10, people = 4; 
相关问题