运行出现如下异常

nuaacpc 2011-05-03 09:57:52
package MyPack;
class Balance
{ String name;
double bal;

Balance(String n,double b)
{ name=n;
bal=b;
}

void show()
{if (bal<0)
System.out.print("-->");
System.out.println(name+":$"+bal);

}
}

class AccountBalance
{ public static void main(String args[])
{ Balance current[]=new Balance[3];

current[0]=new Balance("K.J.Fielding",123.23);
current[1]=new Balance("Will Tell",157.02);
current[2]=new Balance("Tom Jackson",-12.33);

for (int i=0;i<3;i++)
current[i].show();

}
}
代码运行出现如下异常:
Exception in thread "main"java.lang.NoSuchMethodError:main
jdk配置正常,其他程序运行也正常!
...全文
148 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lliiqiang 2011-05-05
  • 打赏
  • 举报
回复
main方法要放到public类里
zl_love_IT 2011-05-05
  • 打赏
  • 举报
回复
程序运行连入口都没见,当然报错了,main 函数!
  • 打赏
  • 举报
回复
改成这样:


public class test {

class Balance
{ String name;
double bal;

Balance(String n,double b)
{ name=n;
bal=b;
}

void show()
{if (bal<0)
System.out.print("-->");
System.out.println(name+":$"+bal);

}
}

class AccountBalance
{
void show(){
Balance current[]=new Balance[3];

current[0]=new Balance("K.J.Fielding",123.23);
current[1]=new Balance("Will Tell",157.02);
current[2]=new Balance("Tom Jackson",-12.33);

for (int i=0;i<3;i++)
current[i].show();

}
}
void show(){
AccountBalance ab = new AccountBalance();
ab.show();
}
public static void main(String[] args) {
test t = new test();
t.show();

}

}
彡颵爺 2011-05-05
  • 打赏
  • 举报
回复
能运行啊,是不是你的JDK环境有问题,
结果跟楼上说的一样啊
quanmu 2011-05-04
  • 打赏
  • 举报
回复
没有 Public 类!
J5175 2011-05-04
  • 打赏
  • 举报
回复
没错啊!!!!!!!!
运行结果是:
K.J.Fielding:$123.23
Will Tell:$157.02
-->Tom Jackson:$-12.33

nuaacpc 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jushi1988 的回复:]
class AccountBalance 需要有个public主类吧。因为你使用了public static void main(String args[])。
[/Quote]

加上后出现如下问题,把原来生成的类删了,第一次运行是对的,会出结果,但是,第二次就不行了,会出现如上错误,删除了生成的类以后还是不行。。。。
LoongMint 2011-05-04
  • 打赏
  • 举报
回复
class AccountBalance 需要有个public主类吧。因为你使用了public static void main(String args[])。
nuaacpc 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 j5175 的回复:]
没错啊!!!!!!!!
运行结果是:
K.J.Fielding:$123.23
Will Tell:$157.02
-->Tom Jackson:$-12.33
[/Quote]
顺便问一下,你用的是那个开发工具?是不是Jcreator不太稳定啊?
nuaacpc 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 aguang_1 的回复:]
有可能java -version与javac -version输出版本不一致
[/Quote]
都是1.5.0啊,我用的是Jcreator,那个是不是不好用啊?
aguang_1 2011-05-04
  • 打赏
  • 举报
回复
有可能java -version与javac -version输出版本不一致
nuaacpc 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rjzou2006 的回复:]
一个类放一个java文件里面。
[/Quote]


这个是包啊,包里面不是有好多类吗?
nuaacpc 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 j5175 的回复:]
没错啊!!!!!!!!
运行结果是:
K.J.Fielding:$123.23
Will Tell:$157.02
-->Tom Jackson:$-12.33
[/Quote]
那还真是啊!我有一次运行出这个结果了,结果后面就不行了!
recluse_java 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 star95hmz 的回复:]
如果你两个类写在一起的话,public AccountBalance

Java code


class Balance
{ String name;
double bal;

Balance(String n,double b)
{ name=n;
bal=b;
}

void show()
{if (bal<0)
System.out……
[/Quote]
总结:多个类写在同一个java文件在,带有main方法的类的访问权限为public且该类的类名必须和文件名一致。
star95hmz 2011-05-03
  • 打赏
  • 举报
回复
如果你两个类写在一起的话,public AccountBalance


class Balance
{ String name;
double bal;

Balance(String n,double b)
{ name=n;
bal=b;
}

void show()
{if (bal<0)
System.out.print("-->");
System.out.println(name+":$"+bal);

}
}

public class AccountBalance
{ public static void main(String args[])
{ Balance current[]=new Balance[3];

current[0]=new Balance("K.J.Fielding",123.23);
current[1]=new Balance("Will Tell",157.02);
current[2]=new Balance("Tom Jackson",-12.33);

for (int i=0;i<3;i++)
current[i].show();

}
}


rjzou2006 2011-05-03
  • 打赏
  • 举报
回复
一个类放一个java文件里面。

62,635

社区成员

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

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