一个java的小问题。。。。。。
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 3 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:EnyaLinn (等级:4 - 马马虎虎,发帖:885) 发表:2006-06-24 14:21:21  楼主  关注此帖评分:
一个java的小问题。。。。。。
这是一本书上面的练习题目,运行的时候出了毛病(程序哪里出了毛病呢)。



public class lesson11exercise5
{
public static void main(String args[])
{
int iMus,b;
for(iMus=0;iMus<10;iMus++)
{
b=19+iMus;
}
System.out.println(b);
}

compile的时候,compiler说,variable b might have not been initialized.
这是什么毛病,好奇怪,奇怪奇怪~~
我坐在我的象牙塔里,看看书,想想你。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:outofblue (等级:4 - 马马虎虎,发帖:533) 发表:2006-06-24 15:16:32  2楼 评分:
变量b需要初始化
在compiler看来,for loop里的语句不是一定会执行的,所以在运行 System.out.println(b) 时,变量b可能还没有被初始化,所以报错。
在for loop前加一句b=0;即可。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:graduating (等级:4 - 马马虎虎,发帖:562) 发表:2006-06-26 00:42:25  3楼 评分:
变量b需要初始化在compiler看来,for loop里的语句不是一定会执行的,所以在运行 System.out.println(b) 时,变量b可能还没有被初始化,所以报错。 在for loop前加一句b=0;即可。
再具体的解释一下
关于Java变量的初始化问题,instance variables(就是class的data member)是会自动初始化的,但是local variables(method member里的variable或者是一个block里定义的variables)是不会自动初始化的。
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 3 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码