日期:2014-05-20  浏览次数:20761 次

关于Exception in thread "main" java.lang.NoSuchMethodError: main
问题是这样的:我编译能通过,但是运行的时候就出现像标题那样的错误,我的环境变量设置是没有问题的,请问这是怎么一回事?谢谢
代码如下:
import   java.util.Scanner;


class   EraserThread   extends   Thread
{
    private   boolean   active;
    private   String   mask;
   
    public   EraserThread()
    {
    this( '* ');
    }
   
    public   EraserThread(char   maskChar)
    {
    active   =   true;
    mask   =   maskChar   +   "\010 ";
    }
   
    public   boolean   isActive()
    {
    return   active;
    }
   
    public   void   setActive(boolean   active)
    {
    this.active   =   active;
    }
   
    public   void   run()
    {
    while(isActive())
    {
    System.out.print(mask);
    try
    {
    Thread.currentThread().sleep(50);
    }
    catch(InterruptedException   e){}
    }
    }
}


public   class   EraserThreadDemo
{
public   static   void   main(String[]   args)
{
Scanner   scanner   =   new   Scanner(System.in);

while(true)
{
System.out.print( "INPUT   YOUR   NAME: ");
String   name   =   scanner.next();
System.out.print( "INPUT   YOUR   PASSWORD: ");

EraserThread   eraserThread   =   new   EraserThread( '# ');
eraserThread.start();
String   password   =   scanner.next();
eraserThread.setActive(false);
break;
}
}
}


------解决方案--------------------
类里面没有写方法
static void main(String args[]){
}
------解决方案--------------------
没有问题呀
你是用的哪一个版本的呀?

------解决方案--------------------
我也遇过这样的问题,而且不是没有main函数的问题
我就把鼠标放在main函数上,然后再试过,就没问题了,不行再编译,再运行
估计会不会是IDE的问题
------解决方案--------------------
你检查下自己的环境,特别是环境变量是不是有错