我有一个线程,在Java中,把前100个斐波纳契数字放在一个数组中。我如何从线程获取数字。是否有中断,处理,异常,实现,扩展?我一直在添加东西,试验和错误并没有让我在任何地方去理解。我怎样才能从线程返回数组值
import java.util.Scanner;
import java.io.*;
import java.lang.Thread; //don't know if this is needed
public class FibThread extends Thread{
public FibThread(){
super();
}
public void run(int inputNum){
System.out.println(inputNum);
long[] fibArray = new long[inputNum];
fibArray[0]=0;
fibArray[1]=1;
fibArray[2]=1;
for(int i = 3; i<inputNum; i++){
fibArray[i]= fibArray[i-1] + fibArray[i-2];
// }
//System.out.println();
// for(int j = 0; j<= inputNum; j++){
int output = (int) fibArray[i];
System.out.println(output);
}
}
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
FibThread threadOne;
int inputNum, itter, output;
System.out.println("Please enter the number of Fibonacci numbers to be generated: ");
itter = keyboard.nextInt();
//inputNum = itter;
threadOne = new FibThread();
threadOne.start();
// for(int j = 0; j<= inputNum; j++){
// int output = (int) fibArray[j];
// System.out.println(output);
}
}
有没有听说过线程中的并发? – 2014-09-30 07:25:18
@VincentBeltman我不明白评论。基本上,你应该有你的fibArray作为你的线程类的成员。当线程完成它的执行(你需要等待),查询它的fibArray值。 – 2014-09-30 07:55:50
没关系。我把这个问题弄错了。您可以将参数传递到FibThread的构造函数中。或者你可以在这个文件中使用一个静态变量来放入所有元素。 – 2014-09-30 08:00:05