课题
今天我做了个作业,题目是:有一对兔子,从出生后第3个月起生一对兔子,小兔子长到第三个月后每个月又生一对,假如兔子都不会死,问每个月平均多少对。先的到一个顺序,1,1,2,3,5,8,13,21,34,55。a(下一个月的量)=b(上一次的a的值)+c(上一次的b值);
1.用int加for来做
int cu=2;//前两月
int yu=10;//月份数
int aa=0;//2,3,5,8总和
int bb=1;//2,3,5,8等于上一次的a值
int cc=1;//1,2,3,5,8等于上一次的b值
//System.out.println("第"+1+"个月的兔子数量"+bb+"对");
//System.out.println("第"+2+"个月的兔子数量"+cc+"对");
for (int i=3; i <=yu; i++) {
aa=bb+cc;
//System.out.println("第"+i+"个月的兔子数量"+aa+"对");
cc=bb;
bb=aa;
cu+=aa;
}
System.out.println("平均每月"+cu/yu+"对");
2.用整型数组来做
int ty=2;//初始两个月的和
int [] yu=new int[1024];
yu[0]=yu[1]=1;//初始两个月
//System.out.println("第"+1+"个月的兔子数量"+yu[0]+"对");
//System.out.println("第"+2+"个月的兔子数量"+yu[1]+"对");
for (int i=2; i<10; i++){
yu[i]=yu[i-1]+yu[i-2];
//System.out.println("第"+i+"个月的兔子数量"+yu[i]+"对");
ty+=yu[i];
}
//System.out.println("平均"+ty/10+"对");
3.写入FileOutputStream和求平均
File hh= new File(“C:\Users\Administrator\Desktop\dtfo.txt”);
hh.createNewFile();
int ty=2;
int [] yu=new int[1024];
yu[0]=yu[1]=1;
for (int i=2; i<10; i++){
yu[i]=yu[i-1]+yu[i-2];
ty+=yu[i];
}
System.out.println("平均"+ty/10+"对");
FileOutputStream yh=new FileOutputStream(hh);
byte []a=new byte[1024];
StringBuffer yy=new StringBuffer();
for(int c=0;c<10;c++){
int rt=yu[c];
yy.append("第"+(c+1)+"个月"+rt+"对,");
}
a=yy.toString().getBytes();//转换传递
yh.write(a);
yh.close();