java程序编译通过,可是运行确出现exception in thread“main”java.lang.NoSuchMethodError:main错误。

程序:packageldz;publicclassStudent{privateStringno;Stringname;publiccharsex;voidsetNo(S... 程序:
package ldz;
public class Student{
private String no;
String name;
public char sex;
void setNo(String no)
{
this.no=no;
}
String getNo()
{
return no;
}

}
class School{
public static void main(String args[]){
Student s=new Student();
s.setNo("071152019");
s.name="ldz";
s.sex='n';
System.out.println(s.getNo());
System.out.println(s.name);
System.out.println(s.sex);
}
}
展开
 我来答
Christ_earl
2009-10-22 · TA获得超过1245个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:0
展开全部
main()方法必须写在public类中 你的School类不是public类,因此虚拟机在public类中是找不到你的main()方法的。另外,整个程序的文件名必须是你的public类名.java ;
你的程序可改成:
package ldz;
public class Student{
private String no;
String name;
public char sex;
void setNo(String no)
{
this.no=no;
}
String getNo()
{
return no;
}

public static void main(String args[]){
Student s=new Student();
s.setNo("071152019");
s.name="ldz";
s.sex='n';
System.out.println(s.getNo());
System.out.println(s.name);
System.out.println(s.sex);
}

}
class School{

}
或者
package ldz;
class Student{
private String no;
String name;
public char sex;
void setNo(String no)
{
this.no=no;
}
String getNo()
{
return no;
}

}
public class School{
public static void main(String args[]){
Student s=new Student();
s.setNo("071152019");
s.name="ldz";
s.sex='n';
System.out.println(s.getNo());
System.out.println(s.name);
System.out.println(s.sex);
}
}
但这时你的程序的文件名就必须叫School.java
sunyi0612
2009-10-17 · 超过35用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:108万
展开全部
你这样写是对的.在Eclipse中,你选中想要运行的类School。右击"run as"->"java application " .就可以在控制台Console输出结果。
071152019
ldz
n

main()方法,是一个入口函数.所以要运行含main()方法的类School,而不是Student.

强烈建议你把这两个类分开放,不要写在一个类里面。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kysdvnm
推荐于2016-09-10 · TA获得超过381个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:0
展开全部
因为你的main方法没有写在public 类中

你应该把public class Student 中的public 放到 class School前

并且把你这个java文件的名字改成School.java
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
only__java
2009-10-16 · 超过20用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
问题出在你的School类上,把它去掉直接在Student类里面执行你的main方法就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邓来兴人生大Cbc94
2009-10-17 · TA获得超过195个赞
知道答主
回答量:343
采纳率:0%
帮助的人:136万
展开全部
JDK问题,换一个就能用了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式