“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,可以运行,运行一些其他的程序也可以;
请问这是什么问题??怎么解决??