代码没错的情况下,你看看你有没有更改或删除你的eclipse 的工作空间,你再看看你运行这个类所在工程的其他类的时候是不是也是出现这种情况,我也有出现这样的问题过,但我记得我好像删除了原来的工作空间,结果重建了一下就好了!重建工作空间之前我先把出现问题的类所在的工程全部删了,重建了工程。
可能是main函数写的不完整
class Customer implements Runnable {
private int money=150;
int i=1;
public void run() {
while (true) {
savemoney();
}
}
private synchronized void savemoney() {
for (int i=1; i<6; i++) //分号去掉
{
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+"存入:"+i*money);
}
}
}
public class Test05 {
public static void main(String[] args) { //加上static
// TODO Auto-generated method stub
Customer c1=new Customer();
Customer c2=new Customer();
new Thread(c1,"顾客A").start();
new Thread(c2,"顾客B").start();
}
}
你这支程式写的没问题
不过你如果用eclipse跑的话
你的args的这个数组会没值吧
如果可以的话
你把其他都屏蔽掉
然后直接先 System.out.println("main");
如果还报错的话 估计是你的eclipse环境问题
eclipse导入了myeclipse建立的工程所以一些配置信息无法正常匹配加载,这种情况要在eclipse里新建工程,让后把源文件复制进去才行。
我刚才试过,没有问题。你查一下你CLASS_PATH中有没有这一点 .
这一点意思是从当前执行目录进行查找