10行的小程序, 编译能通过,运行报异常。有的空的朋友帮忙看下

msnhejie 2008-01-03 10:44:26
class Pass2
{
public void main(String [] args)
{
int x = 6;
Pass2 p = new Pass2();
p.doStuff(x);
System.out.print("main x = "+ x);
}

void doStuff(int x)
{
System.out.print("doStuffx ="+x++);

}
}
...全文
468 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
love1907 2008-01-08
  • 打赏
  • 举报
回复
class Pass2
{
static void doStuff(int x)
{
System.out.print("doStuffx ="+x++);

}

public static void main(String [] args)
{
int x = 6;
Pass2 p = new Pass2();
p.doStuff(x);
System.out.print("main x = "+ x);
}


}
imi00 2008-01-07
  • 打赏
  • 举报
回复
入口方法必须是 static
郭雪品 2008-01-07
  • 打赏
  • 举报
回复

在main 的行上加上static 就行了。

class Pass2
{
public static void main(String [] args)
{
int x = 6;
Pass2 p = new Pass2();
p.doStuff(x);
System.out.print("main x = "+ x);
}

void doStuff(int x)
{
System.out.print("doStuffx="+x++);

}
}
liujdnjust 2008-01-07
  • 打赏
  • 举报
回复
就是少了一个static,其他没有问题
欧德卢福克斯 2008-01-07
  • 打赏
  • 举报
回复
23楼解析不错~
Jieyee 2008-01-07
  • 打赏
  • 举报
回复
是ide开发的吗?这个错难出啊
粥粥的记忆 2008-01-04
  • 打赏
  • 举报
回复
public class test {
public static void doStuff(int x){
System.out.println("doStuff ="+x++);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x =6;
test t = new test();
t.doStuff(x);
System.out.println("main x="+x);
}

}
这样也是可以的
粥粥的记忆 2008-01-04
  • 打赏
  • 举报
回复
public class test {
void doStuff(int x){
System.out.println("doStuff ="+x++);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x =6;
test t = new test();
t.doStuff(x);
System.out.println("main x="+x);
}

doStuff =6
main x=6
xiemojia1919 2008-01-03
  • 打赏
  • 举报
回复
学习java,首先得多试试main()函数前的public,static,void他们是干什么的,又什么用途,根据抛出的异常来分析,多试验几次,就会知道是什么错误了。
leem06 2008-01-03
  • 打赏
  • 举报
回复

class Pass2 {
public static void main(String[] args) {
int x = 6;
//Pass2 p = new Pass2();
doStuff(x);
System.out.print("main x = " + x);
}

static void doStuff(int x) {
System.out.print("doStuffx =" + x++);

}
}
hahacc 2008-01-03
  • 打赏
  • 举报
回复
public void main(String [] args)


改成 public static void main(String [] args)

java主程序要求这种格式,前面各位大大都说的很清楚了
dawnming 2008-01-03
  • 打赏
  • 举报
回复
对的,加个static就可以了
Ansty 2008-01-03
  • 打赏
  • 举报
回复
class Pass2 {
public static void main(String[] args){
int x = 6;
Pass2 p = new Pass2();
p.doStuff(x);
System.out.print("main x = "+x);
}
void doStuff(int x){
System.out.print("doStuffx = "+x++);
}
}
你在主方法那里漏了个static
blliy117 2008-01-03
  • 打赏
  • 举报
回复


public class Pass2
{
public static void main(String [] args)
{
int x = 6;
Pass2 p = new Pass2();
p.doStuff(x);
System.out.print("main x = "+ x);
}
void doStuff(int x)
{
System.out.print("doStuffx ="+x++);

}
}



EXIT_ON_CLOSE 2008-01-03
  • 打赏
  • 举报
回复
正确的吗,结果为:doStuff =6main x = 6
msnhejie 2008-01-03
  • 打赏
  • 举报
回复
加个static 貌似也不行啊。
msnhejie 2008-01-03
  • 打赏
  • 举报
回复
加个STATIC 貌似也不行啊。
macrochao 2008-01-03
  • 打赏
  • 举报
回复

class Pass2
{
public static void main(String [] args)
{
int x = 6;
Pass2 p = new Pass2();
p.doStuff(x);
System.out.print("main x = "+ x);
}
void doStuff(int x)
{
System.out.print("doStuffx ="+x++);

}
}
leem06 2008-01-03
  • 打赏
  • 举报
回复
拜托,看好了再说话

------------------------------------------------------
9楼的会没有问题?
doStuff()方法不是静态方法,怎么可以直接调用?
blliy117 2008-01-03
  • 打赏
  • 举报
回复
WIN_ANGEL
我说的是说在
void doStuff(int x) 这个方法前面的加个static的人
而不是main,刚才没说清楚也让你误会了!!不好意思


main方法是入口,在一个类中必须加static才能让其成为入口方法(当然这不要问为什么,这可要sun公司),这只是一种约定我觉得没必要问为什么,就比如你接老婆天天在她公司接她,到其它公司门口是接不到的.
加载更多回复(12)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧