黑马程序员技术交流社区
标题:
请教个问题这是怎么回事
[打印本页]
作者:
走遍世界找寻你
时间:
2013-11-13 20:34
标题:
请教个问题这是怎么回事
package itcast.interview.traffic;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Road {
private List<String> vehicles = 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 = 1;i < 1000;i++)
Thread.sleep(1000);
vehicles.add(Road.this.name + "_" + i);
}
});
}
}
i有什么问题?为什么会这样。
作者:
付凯鹏
时间:
2013-11-13 20:45
for(int i = 1;i < 1000;i++)
Thread.sleep(1000);
vehicles.add(Road.this.name + "_" + i);
}
这几句话里,for循环里面只是有 Thread.sleep(1000);这句话,而 vehicles.add(Road.this.name + "_" + i);这句话不在for循环里面,因此不能使用for循环里面的i变量,你可能是for循环下面少加了"{}"
作者:
起猿
时间:
2013-11-14 00:56
<P>//你这是太马虎了</P>
<P>public class Road {
private List<String> vehicles = 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 = 1;i < 1000;i++){//for 循环是有方法体的,写在{}内,而你的程序正好缺了这个左右花括号;
Thread.sleep(1000);
vehicles.add(Road.this.name + "_" + i);}
}
});
}
}</P>
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2