《Thinking in Java》 第四章 practice9:
代码如下所示:
import java.util.Scanner;
public class Practice9 {
/**
* @Description: 根据项数获取斐波那契数列的项值
* @param 第几项
* @return 项值
*/
public static int getSequenceValue(int n) {
if(n==1 || n==2) {
return 1;
}else {
return getSequenceValue(n-1)+getSequenceValue(n-2);
}
}
/**
* @Description: 将获取的项值存放在int数组中
* @param 项的个数
* @return int数组
*/
public static int[] getSequence(int a) {
int[] sequence = new int[a];
for(int i=0;i<a;i++) {
sequence[i] = getSequenceValue(i+1);
}
return sequence;
}
public static void main(String[] args) {
System.out.println("请输入一个数列的项的个数");
Scanner scan = new Scanner(System.in);
if(scan.hasNextInt()) {
int a = scan.nextInt();
int[] sequence = getSequence(a);
for(int value : sequence) {
System.out.print(value+",");
}
}else {
System.out.println("输入的不是数字");
}
}
}