改正java的程序

来源:百度知道 编辑:UC知道 时间:2024/05/13 15:07:56
class Count{
public int num;
public Count(int num){
this.num=num;
}
}
public class test{
public void increment(Count a,int times){
a.num++;
times++;
}
public static void main(String args[]){
Count count1=new Count(0);
test aa = new test();
int times=0;
for(int i=0;i<50;i++)
{
aa.increment(count1,times);
}
System.out.println("count1 is"+count1.num);
System.out.println("times is"+times);
}

}

该程序没有任何问题,输出如下:
count1 is50
times is0

确实没什么问题

你是什么意思,你是觉得times也应该是50吗?

因为你每次给aa.increment()方法传的times值都是0;

而 increment()方法的参数times那是又一个变量了,而且是局部变量,出了方法,它就失效了,它的作用域就在那个方法体内,跟你定义的times没关系,不可能影响到它的值

没有问题,记着文件名是test.java