编程要求:
创建自定义线程,实现求第num
项斐波那契数列的值num
从0
开始,并且在main
函数中获取子线程最终计算的结果。
测试说明:
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
输入:5
输出:子线程计算结果为:5
输入:8
输出:子线程计算结果为:21
输入:10
输出:子线程计算结果为:55
代码部分:
package step2;
import java.util.Scanner;
public class Task {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//请在此添加实现代码
/********** Begin **********/
MyThread my=new MyThread(num);
my.start();
try {
my.join();
} catch (Exception e) {}
int result = my.getResult();
System.out.println("子线程计算结果为:"+ result);
}
/********** End **********/
}
//请在此添加实现代码
/********** Begin **********/
class MyThread extends Thread{
private int num;
private int result;
public MyThread(int num){
this.num=num;
}
public void run(){
int a = 0;
int b = 1;
int c = 0;
if (num == 0) {
result = 0;
} else if (num == 1) {
result = 1;
} else {
for (int i = 2; i <= num; i++) {
c = a + b;
a = b;
b = c;
}
result = c;
}
}
public int getResult() {
return result;
}
}
/********** End **********/