第一种方法:
import java.util.Scanner;
public class Rab{
public static void main(String[]args){
int month;
System.out.println("请输入养殖兔子的月份数:");
Scanner in = new Scanner(System.in);
month = in.nextInt();
int sum[]= new int[month] ;
sum[0] = 1;
sum[1] = 1;
for(int i=2;i<month;i++){
sum[i] = sum[i-1]+sum[i-2];
}
System.out.println("第"+month+"个月的兔子总数是:"+sum[month-1]);
}
}
第二种方法:
import java.util.Scanner;
public class practies4 {
public static void main(String[]args){
//变量声明;
int n = 0;
while(n<3){
GetKey gk = new GetKey();
n = gk.getN();
}
System.out.println("请输入月份数:");
Scanner in = new Scanner(System.in);
n = in.nextInt();
int[]a = new int[n];
a[0]=1;
a[1]=1;
for(int i=2;i<n;i++){
a[i]=a[i-1]+a[i-2];
}
System.out.println(n);
System.out.println(a[n-1]);
}
}
//实现对用户输入内容的控制,并获取n
class GetKey{
private int pos;
private String bufNum="";
private byte[]buff =new byte[10];
private int n;
private int info;
public int getN(){
System.out.println("请输入你想知道第多少个月的兔子总数:");
System.out.println("月份数必须大于2");
while(true){
try{
info=System.in.read();
}catch(Exception e){
}
if(info=='\n'||info=='\r'){
bufNum = new String(buff,0,pos);
try{
n=Integer.parseInt(bufNum);
}catch(Exception e){
n=1;
}
break;
}else{
buff[pos++]=(byte)info;
}
}
return n;
}
}