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);
}
} 展开
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);
}
} 展开
5个回答
展开全部
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
你的程序可改成:
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
展开全部
你这样写是对的.在Eclipse中,你选中想要运行的类School。右击"run as"->"java application " .就可以在控制台Console输出结果。
071152019
ldz
n
main()方法,是一个入口函数.所以要运行含main()方法的类School,而不是Student.
强烈建议你把这两个类分开放,不要写在一个类里面。
071152019
ldz
n
main()方法,是一个入口函数.所以要运行含main()方法的类School,而不是Student.
强烈建议你把这两个类分开放,不要写在一个类里面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你的main方法没有写在public 类中
你应该把public class Student 中的public 放到 class School前
并且把你这个java文件的名字改成School.java
你应该把public class Student 中的public 放到 class School前
并且把你这个java文件的名字改成School.java
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题出在你的School类上,把它去掉直接在Student类里面执行你的main方法就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JDK问题,换一个就能用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询