| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:这样写为什么不行
只看楼主 加入收藏
weizheng
Rank: 1
等 级:新手上路
威 望:2
帖 子:286
专家分:0
注 册:2005-4-21
收藏
 问题点数:0 回复次数:5 
这样写为什么不行
import java.awt.*;
import javax.swing.*;

public class Recursive{
String outPut;

public static void main(String[] args){

for(long counter = 1;counter <= 10;counter++)
System.out.println(counter + "! =" + factorial(counter) + "\n");


}
public long factorial(long n){ //不能调用静态方法
if(n <= 1)
return 1;
else
return n * factorial(n - 1);
}
}
搜索更多相关主题的帖子: counter public return import color 
2006-04-25 21:38
arc256
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-4-23
收藏
得分:0 
java中不是对象调用方法吗?factorial(counter)仅仅是个方法啊?(菜鸟意见仅供参考)
2006-04-25 21:59
iyuohz
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-2-22
收藏
得分:0 
public static long factorial(long n){

这样就行了

2006-04-25 22:23
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

在JAVA中静态方法表示调用这个方法时可以不用生成对象,所以要求这方法里面不用到有关对象的东西
所以,为了以防万一,在静态方法中只能调用静态方法


可惜不是你,陪我到最后
2006-04-26 10:54
weizheng
Rank: 1
等 级:新手上路
威 望:2
帖 子:286
专家分:0
注 册:2005-4-21
收藏
得分:0 
感谢指点,不过还是有些糊涂,
慢慢来,如果我写成Applet就行了。

温和如玉,完美纯正。
2006-04-28 20:34
zhouxin
Rank: 2
等 级:新手上路
威 望:4
帖 子:76
专家分:0
注 册:2006-4-28
收藏
得分:0 
public static void main(String[] args){
Recursive a=new Recursive();
for(long counter = 1;counter <= 10;counter++)
System.out.println(counter + "! =" + a.factorial(counter) + "\n");

}
这样你一定能通过编译。mian方法是个静态方法,执行他时对象并没有创建。所以你必须创建实例变量来引用那个实例方法。

好好编程好好学习
2006-04-28 23:25
快速回复:这样写为什么不行
数据加载中...
 
   



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

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