我有一個線程,在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