A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨朔 中级黑马   /  2012-7-5 10:22  /  1345 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个是交通灯管理系统第8的代码,感觉跟老师的一模一样,但就是一直报错
package com.isoftstone.interview.traffic;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.lang.Runnable.*;

public class Road {
       
        private List<String> vechicles=new ArrayList<String>();
        private String name=null;

        public Road(String name) {
                this.name=name;
               
                ExecutorService pool=Executors.newSingleThreadExecutor();
                pool.execute(new Runnable(){
                        public void run(){
                                for(int i=0;i<1000;i++){
                                        try {
                                                Thread.sleep((new Random().nextInt(10)+1)*1000);
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                        vechicles.add(Road.this.name+" "+i);
                                }
                        }
                });
                 ScheduledExecutorService timer=Executors.newScheduledThreadPool(1);
                 timer.scheduleAtFixedRate(
                                 new Runnable(){//这个地方的new Runnable ()一直报错,不知道怎么了,感觉没错啊
                         public void Run(){
                                 if(vechicles.size()>0){
                                         Boolean lighted= true;
                                         while(lighted){
                                                 System.out.println(vechicles.remove(0)+"is gone");
                                         }
                                 }
                         }
                 },
                                 1,
                                 1,
                                 TimeUnit.SECONDS);
        }
       
}

3 个回复

倒序浏览
你的run方法  首字母大写了  你改成小写就可以了 ............
回复 使用道具 举报
你在覆盖方法的时候可以在方法前边加一个    @Override  注释一下,这样在编译的时候,你有没有覆盖相应的函数,编译器后给你提示的            
如:
@Override
public void run(){}                    

点评

这是一个好办法!  发表于 2012-7-5 16:48
回复 使用道具 举报
王达 发表于 2012-7-5 11:46
你在覆盖方法的时候可以在方法前边加一个    @Override  注释一下,这样在编译的时候,你有没有覆盖相应的 ...

对了,谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马