黑马程序员技术交流社区

标题: 这个代码怎么一直有错 [打印本页]

作者: 杨朔    时间: 2012-7-5 10:22
标题: 这个代码怎么一直有错
这个是交通灯管理系统第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);
        }
       
}

作者: 高铭    时间: 2012-7-5 11:21
你的run方法  首字母大写了  你改成小写就可以了 ............
作者: 王达    时间: 2012-7-5 11:46
你在覆盖方法的时候可以在方法前边加一个    @Override  注释一下,这样在编译的时候,你有没有覆盖相应的函数,编译器后给你提示的            
如:
@Override
public void run(){}                    

作者: 杨朔    时间: 2012-7-6 00:35
王达 发表于 2012-7-5 11:46
你在覆盖方法的时候可以在方法前边加一个    @Override  注释一下,这样在编译的时候,你有没有覆盖相应的 ...

对了,谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2