Exception in thread "main" java.lang.NoSuchMethodError: main

ourdsky 2009-04-09 03:09:15

生成两个类,运行出现
Exception in thread "main" java.lang.NoSuchMethodError: main,但我检查不出什么错误,请高手指点一下。
import java.awt.*;
class FirstWindow extends Frame
{ MenuBar menubar;
Menu menu;
MenuItem item1,item2;
FirstWindow(String s)
{ setTitle(s);
Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
setBounds(0,0,dim.width,dim.height/2);
menubar=new MenuBar();
menu=new Menu("文件");
item1=new MenuItem("打开");
item2=new MenuItem("保存");
menu.add(item1);
menu.add(item2);
menubar.add(menu);
setMenuBar(menubar);
setVisible(true);

}
}
class FirstWindow1
{ public static void main(String args[])
{ FirstWindow win=new FirstWindow("一个带菜单的窗口");
}
}
...全文
151 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ourdsky 2009-05-06
  • 打赏
  • 举报
回复
感谢给位!按照你们的指点,代码能够运行了。
ZiSheng 2009-04-09
  • 打赏
  • 举报
回复
把class FirstWindow1 前边加上public试试
ty_tarena_pger 2009-04-09
  • 打赏
  • 举报
回复

import java.awt.*;

import javax.swing.JFrame;

class FirstWindow extends JFrame {//建议你继承JFrame
MenuBar menubar;

Menu menu;

MenuItem item1, item2;

FirstWindow(String s) {
setTitle(s);
Toolkit tool = getToolkit();
Dimension dim = tool.getScreenSize();
setBounds(0, 0, dim.width, dim.height / 2);
menubar = new MenuBar();
menu = new Menu("文件");
item1 = new MenuItem("打开");
item2 = new MenuItem("保存");
menu.add(item1);
menu.add(item2);
menubar.add(menu);
setMenuBar(menubar);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//没这句你把窗体关了,JDK也
//一直在运行着

}
}

public class FirstWindow1 {//这里加上public(你的类文件名应该是:FirstWindow1
public static void main(String args[]) {
FirstWindow win = new FirstWindow("一个带菜单的窗口");



}
}
dreamhunter_lan 2009-04-09
  • 打赏
  • 举报
回复
如4楼所说,只要把文件名命名为有main方法的那个类的名字就行了
可以有多个main函数,比如上面两个类如果都有main
那么敲入java FirstWindow就执行FirstWindow中的main
敲入java FirstWindow1就执行FirstWindow1中的main
根本不需要什么public,不过如果有了一个public class,那么文件名就必须与这个public class的类名相同了
  • 打赏
  • 举报
回复
[Quote=引用楼主 ourdsky 的帖子:]

生成两个类,运行出现
Exception in thread "main" java.lang.NoSuchMethodError: main,但我检查不出什么错误,请高手指点一下。
import java.awt.*;
class FirstWindow extends Frame
{ MenuBar menubar;
Menu menu;
MenuItem item1,item2;
FirstWindow(String s)
{ setTitle(s);
Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
setBounds(0,0,dim.widt…
[/Quote]
你这两个类在一个文件
还是在一个包下

要是在一个文件下,那文件名要为带有main方法的类名作为文件名
  • 打赏
  • 举报
回复
看你的代码的意思应该在 class FirstWindow1 前加 public才对。
qulijian1234 2009-04-09
  • 打赏
  • 举报
回复
看看你的jdk配好没

若配好了 把那个CLASS变为public class FirstWindow1{...}(加个public)

我以为你还看看的JDK环境配好没


在cmd-> javac
看看情况 若说不是系统命令那就说 JDK有问题


捏造的信仰 2009-04-09
  • 打赏
  • 举报
回复
你这是一个文件还是两个文件?为什那么两个 class 都没有 public 修饰符?

只有 public 类中的 main 方法才能执行。
Java面向对象程序设计》(第2版)课后答案 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。Java面向对象程序设计 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第1页。 (编著耿祥义X跃平) 习题1 1.James Gosling 2. (1)使用一个文本编辑器编写源文件。 (2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。 (3)使用Java解释器(java.exe)运行Java程序 3.Java的源文件是由若干个书写形式互相独立的类组成的。 应用程序中可以没有public类,若有的话至多可以有一个public类。 4.系统环境path D\jdk\bin; 系统环境classpath D\jdk\jre\lib\rt.jar;.; 5. B 6. Java源文件的扩展名是.javaJava字节码的扩展名是.class。 7. D 8.(1)Speak.java (2)生成两个字节码文件,这些字节码文件的名字Speak.class 和 Xiti8.class (3)java Xiti8 (4)执行java Speak的错误提示 Exception in thread "main" java.lang.NoSuchMethodError: main 执行java xiti8得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 (wrong name: Xiti8) 执行java Xiti8.class得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class 执行java Xiti8得到的输出结果 I'm glad to meet you 9.属于操作题,解答略。 习题2 1. D 2.【代码1】【代码2】错误 //【代码3】更正为 float z=6.89F; 3.float型常量后面必须要有后缀"f"或"F"。 对于double常量,后面可以有后缀"d"或"D",但允许省略该后缀。 4.public class Xiti4{ public static void main (String args[ ]){ char ch1='你',ch2='我',ch3='他'; System.out.println("\""+ch1+"\"的位置:"+(int)ch1); System.out.println("\""+ch2+"\"的位置:"+(int)ch2); System.out.println("\""+ch3+"\"的位置:"+(int)ch3); } } 5.数组名字.length 6.数组名字.length 7.【代码1】A,65 【代码2】-127 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。【代码3】 123456.783,123456.78312 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。 《Java面向对象程序设计》(第2版)课后答案全文共39页,当前为第2页。 8. 【代码1】false 【代码2】true 【代码3】false 【代码4】3 【代码5】4.4 【代码6】8.8 习题3 输出110 if-else语句书写的不够规X,复合语句缺少大括号"{}",代码不够清晰。 2.你好好酷!! 3. public class Xiti3_3 { public static void main (String args[ ]){ int startPosition=0,endPosition=0; char cStart='а',cEnd='я'; startPosition=(int)cStart; //cStart做int型转换据运算,并将结果赋值给startPosition endPosition=(int)cEnd ; //cEnd做int型转换运算,并将结果赋值给endPosition System.out.println("俄文字母表:"); for(int i=startPosition;i<=endPosition;i++){ char c='\0'; c=(char)i; //i做char型转换运算,并将结果赋值给c System.out.
Java面向对象程序设计》(第版)课后答案 39 / 39 《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第1页。《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第1页。Java面向对象程序设计 《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第1页。 《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第1页。 〔编著耿祥义张跃平〕 习题1 1.James Gosling 2. 〔1〕使用一个文本编辑器编写源文件. 〔2〕使用Java编译器〔javac.exe〕编译Java源程序,得到字节码文件. 〔3〕使用Java解释器〔java.exe〕运行Java程序 3.Java的源文件是由若干个书写形式互相独立的类组成的. 应用程序中可以没有public类,若有的话至多可以有一个public类. 4.系统环境path D\jdk\bin; 系统环境classpath D\jdk\jre\lib\rt.jar;.; 5. B 6. Java源文件的扩展名是.java.Java字节码的扩展名是.class. 7. D 8.〔1〕Speak.java 〔2〕生成两个字节码文件,这些字节码文件的名字Speak.class 和 Xiti8.class 〔3〕java Xiti8 〔4〕执行java Speak的错误提示 Exception in thread "main" java.lang.NoSuchMethodError: main 执行java xiti8得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: xiti8 执行java Xiti8.class得到的错误提示 Exception in thread "main" java.lang.NoClassDefFoundError: Xiti8/class 执行java Xiti8得到的输出结果 I'm glad to meet you 9.属于操作题,解答略. 习题2 1. D 2.[代码1][代码2]错误 //[代码3]更正为 float z=6.89F; 3.float型常量后面必须要有后缀"f"或"F". 对于double常量,后面可以有后缀"d"或"D",但允许省略该后缀. 4.public class Xiti4{ public static void main { char ch1='你',ch2='我',ch3='他'; System.out.println<"\""+ch1+"\"的位置:"+ch1>; System.out.println<"\""+ch2+"\"的位置:"+ch2>; System.out.println<"\""+ch3+"\"的位置:"+ch3>; } } 5.数组名字.length 6.数组名字.length 7.[代码1]A,65 [代码2]-127 《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第2页。《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第2页。[代码3] 123456.783,123456.78312 《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第2页。 《Java面向对象程序设计》(第版)课后答案全文共39页,当前为第2页。 8. [代码1]false [代码2]true [代码3]false [代码4]3 [代码5]4.4 [代码6]8.8 习题3 输出110 if-else语句书写的不够规范,复合语句缺少大括号"{}",代码不够清晰. 2.你好好酷!! 3. public class Xiti3_3 { public static void main { int startPosition=0,endPosition=0; char cStart='а',cEnd='я'; startPosition=cStart; //cStart做int型转换据运算,并将结果赋值给startPosition endPosition=cEnd ; //cEnd做int型转换运算,并将结果赋值给endPosition System.out.println<"俄文字母表:">; for{ char c='\0'; c=i; //i做char型转换运算,并将结果赋值给c System.out.p

62,614

社区成员

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

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