一个JAVA程序的运行

我刚学JAVA,我下的工具 是 JDK1.6。以下是环境变量设置。

java_home D:\java\jdk1.6
path D:\java\jdk1.6\bin
classpath .;D:\java\jdk1.6\lib\tools.jar

我用记事本写了一个程序:People.java
代码:public class People
{
float hight,weight;
String head,ear,mouth;
void speak(String s)
{
System.out.println(s);
}
}
class A
{
public static void main(String args[])
{
People zhubajie;
zhubajie=new People();
zhubajie.weight=200f;
zhubajie.hight=1.70F;
zhubajie.head="大头";
zhubajie.ear="两只大耳朵";
zhubajie.mouth="一只大嘴";
System.out.println("重量"+zhubajie.weight+"身高" +zhubajie.hight);
System.out.println(zhubajie.head+zhubajie.mouth+zhubajie.ear);
zhubajie.speak("师傅,咱们别去西天了,改去月宫吧");
}
}

我把这个文件放在了D:\haha 目录下,然后运行,运行的 时候编译没问题,通过了,可是再运行的时候,系统说
exception in thread main java.lang.NoSunchMethodError:main
请问这是什么意思?为什么会这样?我应该怎么样处理这个程序才能得到结果

编译没有问题,表示环境变量设置是没有问题的,这个异常指的是找不到main方法,原因是你的main方法没有放在public声明的class中,要解决很简单:把class A声明为public,把class People的public去掉就行了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-24
你用的是不是Eclipse编译器啊?我想你应该是运行的时候 没有选中包含主函数的那个类名吧。编译没问题说明语法没有问题。我也试了一下,一运行就成功了。你把那个RunConfiguration中的Main Class改成包含主函数的类名,试试
第2个回答  2009-05-24
将main方法放到公共类中
即用public修饰的类
第3个回答  2009-05-24
CLASSPATH有问题吧
例如我的jdk在C:\Program Files\Java\jdk1.6.0_02
我的classpath是C:\Program Files\Java\jdk1.6.0_02\jre\lib\rt.jar;
C:\Program Files\Java\jdk1.6.0_02\lib\dt.jar;
C:\Program Files\Java\jdk1.6.0_02\lib\tools.jar;
C:\Program Files\Java\jdk1.6.0_02\jre\lib\ext\dnsns.jar;
C:\ProgramFiles\Java\jdk1.6.0_02\jre\lib\ext\localedata.jar;
C:\Program Files\Java\jdk1.6.0_02\jre\lib\ext\sunjce_provider.jar;
C:\Program Files\Java\jdk1.6.0_02\jre\lib\ext\sunmscapi.jar;
C:\Program Files\Java\jdk1.6.0_02\jre\lib\ext\sunpkcs11.jar
第4个回答  2020-11-19
相似回答