“Exception in thread "main" java.lang.NoSuchMethodError: main”问题

橄榄 2004-10-17 10:43:34
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class BinarySearch extends Applet implements ActionListener
{
Label prompt = new Label("请输入排数的数据(最多10个整数):");
TextField input = new TextField (5);
Button sortbtn = new Button ("排序");
int[] DataArray = new int [10];
int DataInputed = 0;
int[]ComparePt = new int[10];
String msg="";

public void init()
{
add(prompt);
add(input);
add(sortbtn);
input.addActionListener(this);
sortbtn.addActionListener(this);
}
public void paint(Graphics g)
{
for (int i=0;i<DataArray.length;i++)
g.drawString(Integer.toString(DataArray[i]),10+30*i,40);
for (int i=0;i<ComparePt.length;i++)
g.drawString(Integer.toString(ComparePt[i]),10+30*i,70);
g.drawString(msg,10,100);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==input)
{
DataArray[DataInputed++]=Integer.parseInt(input.getText());
if(DataInputed<10)
{
prompt.setText("已输入"+ DataInputed +"个数据,请继续");
input.setText("");
}
else
{
prompt.setText("已输入10个数据,不能在输入了");
input.setVisible(false);
}
}
if(e.getActionCommand()=="排序")
{
SortProcedure();
sortbtn.setLabel("查找");//转到查找功能
prompt.setText("请输入查找数据:");
input.setVisible(true);
input.setText("");
repaint();
}
if(e.getActionCommand()=="查找")
{
int k=BiSearch(Integer.parseInt(input.getText()));
if (k==-1)
msg="序列中没有匹配的数据";
else
msg="匹配的数据在序列的第"+k+"个位置";
}
}
void SortProcedure()
{
int pass,i,temp;

for(pass=1;pass<DataArray.length;pass++) //插入多次,无序子列在减少
{
temp= DataArray[pass];
for (i=pass-1;i>=0;i--)
{
if(DataArray[i]<=temp)
break;
else
DataArray[i+1]=DataArray[i];
}
DataArray[i+1]=temp;
}
}
int BiSearch(int Key)//根据关键值key查找数据并返回其位置,若查找失败返回-1
{
int low=0;
int high=DataArray.length-1;
int mid ;
int i=0;

while(low<=high)
{
mid = (high+low)/2;
ComparePt[i++]=DataArray[mid];
if(DataArray[mid]==Key) //找到数据
return mid;
else if (DataArray[mid]<Key)
low =mid+1;
else
high=mid-1;
}
return-1;
}
}
这是对分查找的代码,看不出什么问题,JAVAC编译通过,但是一运行就出现这样的问题:
D:\suanfa>java BinarySearch
Exception in thread "main" java.lang.NoSuchMethodError: main
(不懂)
原先以为是类的路径问题,就编个HelloWorld.java,可以运行,运行一些其他的程序也可以;
请问这是什么问题??怎么解决??
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
febchen 2004-10-17
  • 打赏
  • 举报
回复
对独立应用程序来说
程序入口是main()

对applet来说
程序入口是
init()
micker 2004-10-17
  • 打赏
  • 举报
回复
没有main函数,程序就没有入口了!
febchen 2004-10-17
  • 打赏
  • 举报
回复

两个问题:
1、
java BinarySearch
这种形式如果要运行,必须要有static void main(),并从这个方法开始运行程序
而你的程序中没有这个方法。

2、
这个程序是applet,它一般不是独立运行的,而是在网页中运行
需要写个htm文件如下:
<html>
<applet code=BinarySearch.class width=600 height=500>
</applet>
</html>
将此文件与BinarySearch.class放在同一个文件夹下,然后通过ie来调用它就可以了

建议看一下有关java两种运行方式的说明,这是java的基础东西了。
wdong18 2004-10-17
  • 打赏
  • 举报
回复
没有main方法,程序的入口在什么地方啊?
加入pulic class void main(String[] args){
//方法调用
}

62,614

社区成员

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

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