在下,新手,想请教一下下面代码为何会什么结果都出不来?import java.util.concurrent.*;public class Fibonacci implements Runnable{
private int n = 0;
private int[] fibo;
public Fibonacci(){}
public Fibonacci(int n){
this.n = n;
fibo = new int[n];
}
public String toString(){
String str = "";
for(int i = 0;i < n; i ++){
str += fibo[i] + " ";
}
return str;
}
public void run(){
fibo[0] = 0;
fibo[1] = 1;
n -= 2;
int i = 2;
while(n-- > 0){
fibo[i] = fibo[i - 1] + fibo [i - 2];
i ++;
}
System.out.println(toString());
Thread.yield();
}
public static void main(String[] arg){
ExecutorService exec = Executors.newCachedThreadPool();
for(int i = 0;i < 5;i ++)
exec.execute(new Fibonacci(20));
exec.shutdown();
}
}此外在ExecutorService中看到<T> Future<T> 的返回类型声明,请问第一次<T>怎么解释?
多谢!!java;线程;泛型
private int n = 0;
private int[] fibo;
public Fibonacci(){}
public Fibonacci(int n){
this.n = n;
fibo = new int[n];
}
public String toString(){
String str = "";
for(int i = 0;i < n; i ++){
str += fibo[i] + " ";
}
return str;
}
public void run(){
fibo[0] = 0;
fibo[1] = 1;
n -= 2;
int i = 2;
while(n-- > 0){
fibo[i] = fibo[i - 1] + fibo [i - 2];
i ++;
}
System.out.println(toString());
Thread.yield();
}
public static void main(String[] arg){
ExecutorService exec = Executors.newCachedThreadPool();
for(int i = 0;i < 5;i ++)
exec.execute(new Fibonacci(20));
exec.shutdown();
}
}此外在ExecutorService中看到<T> Future<T> 的返回类型声明,请问第一次<T>怎么解释?
多谢!!java;线程;泛型
解决方案 »
- JAVA IO问题
- 一个有关数据库查询的出错信息,请高手释疑。
- Hibernate+spring 连接多个数据库问题!在线急等!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 如何将编译结果输出到文本文件(txt)?
- 对象做为参数的用法。。
- 汉字编码的问题
- SQL Server如何保存一个boolean值才可以用ResultSet.getBoolean()得到正确的值?
- 有关文本框事件的问题
- 为什么用javamail连接邮箱出现NoSuchProviderException?怎么没有provider呢?求救
- 线程同步问题
- JAVA连接数据库
- import com.mysql.jdbc.Driver;一句中com的意思?
你在toString时用的 n, 已经在 run()里面被-- 成 -1了。
变成
for(int i = 0;i < -1; i ++){
str += fibo[i] + " ";
}