2012-04-18 37 views
0

这是什么问题;int为字节,“无法解析为变量”。哪里不对?

public class cast { 

    public static void main(String args[]){ 
     double x, y; 
     int i; 
     char c; 

     x = 10.0; 
     y = 3.0; 

     i = (int) (x/y); 
     System.out.println("Integer outcome of x/y = " + i); 

     i = 100; //Assaigning new value to i. 

     b = (byte) i; 
     System.out.println("The value of i is: " + b); 

    } 

} 

它给了我下面的错误信息; b不能解析为变量。

虽然我没有,正是因为他们在书中做了(我认为,重新读了这本书指令像五次....)

回答

5

b是不是在你的例子声明的变量。在你使用变量之前,你必须声明它。如果你不这样做Java不知道什么b代表,并不知道如何处理它。尝试

byte b = (byte) i; 

代替。或者,您也可以添加行

byte b; 

到您的程序的开始。这告诉Java你想要b是一个可以容纳一个字节的变量。