当前位置: 代码迷 >> Java相关 >> 大家来帮忙一下一题
  详细解决方案

大家来帮忙一下一题

热度:104   发布时间:2009-09-18 18:39:51.0
大家来帮忙一下一题
代码如下:
class Count{
public int num;
Count(int num){
this.num=num;
}
}
public class test1{
public static void main(String[]args){
int times=0;
static void increment(Count a,int times){//静态方法
count++;//此中的count是什么
times++;
}
Count count1=new Count(0);
for(int i=0;i<50;i++)
increment(count1,times);
System.out.println("count1 is "+count1.num);
System.out.println("times is"+times);
}

}
搜索更多相关的解决方案: public  count  

----------------解决方案--------------------------------------------------------
你这个程序根本不可能运行,我也不知道你那个count是什么来的,又没有定义,肯定会报错,而且,好像不能在静态方法里面再定义静态方法,所以,应该把increment放在main的外面,这样,你得到的结构就会是count=0和tiam=0,因为你每次循环的时候,都会调用increment(count1,times),而count1里面的num每次都是0,所以count=0,而time不是静态变量,所以也不会改变!
----------------解决方案--------------------------------------------------------
程序不能运行
----------------解决方案--------------------------------------------------------
还有,你static void increment(Count a,int times)里面有定义了一个times,与main函数里面的times是形参与实参的关系,不会改变times的值!
----------------解决方案--------------------------------------------------------
帮你修改了,可以运行

class Count {

    public int num;

    Count(int num) {
        this.num = num;
    }
}

public class Test1 {

    static void increment(Count a, int times) {//静态方法放在main()外
        a.num++;//count改成a.num
        times++;
    }

    public static void main(String[] args) {
        int times = 0;

        Count count1 = new Count(0);
        for (int i = 0; i < 50; i++) {
            increment(count1, times);
        }
        System.out.println("count1 is " + count1.num);
        System.out.println("times is" + times);
    }
}
----------------解决方案--------------------------------------------------------
回复 5楼 lampeter123
5楼,你这样改还不行啊~~   times还是等于0,没意义~~~直接在外面定义一个static int times=0;然后调用方法的时候不用传times这个参数了!!
----------------解决方案--------------------------------------------------------
首先确保程序能运行,之后再修改它的功能。楼上说得没错,times改为静态的
----------------解决方案--------------------------------------------------------
1,静态方法放在main()外:这点我忽视了。
2,静态变量time没理解好。

----------------解决方案--------------------------------------------------------
  相关解决方案