| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 842 人关注过本帖
标题:大家来帮忙一下一题
只看楼主 加入收藏
sonwill
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-3-22
结帖率:100%
收藏
 问题点数:0 回复次数:7 
大家来帮忙一下一题
代码如下:
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 
2009-09-18 18:39
迷你龙
Rank: 2
等 级:论坛游民
帖 子:20
专家分:16
注 册:2009-9-13
收藏
得分:0 
你这个程序根本不可能运行,我也不知道你那个count是什么来的,又没有定义,肯定会报错,而且,好像不能在静态方法里面再定义静态方法,所以,应该把increment放在main的外面,这样,你得到的结构就会是count=0和tiam=0,因为你每次循环的时候,都会调用increment(count1,times),而count1里面的num每次都是0,所以count=0,而time不是静态变量,所以也不会改变!
2009-09-19 09:40
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:0 
程序不能运行

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-09-19 09:50
迷你龙
Rank: 2
等 级:论坛游民
帖 子:20
专家分:16
注 册:2009-9-13
收藏
得分:0 
还有,你static void increment(Count a,int times)里面有定义了一个times,与main函数里面的times是形参与实参的关系,不会改变times的值!
2009-09-19 10:18
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
帮你修改了,可以运行

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);
    }
}

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-09-19 14:18
迷你龙
Rank: 2
等 级:论坛游民
帖 子:20
专家分:16
注 册:2009-9-13
收藏
得分:0 
回复 5楼 lampeter123
5楼,你这样改还不行啊~~   times还是等于0,没意义~~~直接在外面定义一个static int times=0;然后调用方法的时候不用传times这个参数了!!
2009-09-19 14:33
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
首先确保程序能运行,之后再修改它的功能。楼上说得没错,times改为静态的

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-09-19 14:51
sonwill
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-3-22
收藏
得分:0 
1,静态方法放在main()外:这点我忽视了。
2,静态变量time没理解好。
2009-09-20 13:17
快速回复:大家来帮忙一下一题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035034 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved