package com01;
public class CattleFarm {
public int year;
public int total;
public int[] allAge;
}
package com01;
import java.util.Random;
public class CattleMultiply {
static int year;
static int During=20;
static int Life=20;
static int MaxBornAge=4;
static int MinBornAge=14;
private static double TwinRate=0.05,TripleRate=0.01;
static double dieOfYoung=0.3;
public static void main(String[] args) {
CattleFarm cattleFarm=new CattleFarm();
InitCattle(cattleFarm);
updateCattle(cattleFarm);
PrintCattleFarm(cattleFarm);
}
public static void InitCattle(CattleFarm cattleFarm){
cattleFarm.year=2001;
cattleFarm.total=1;
cattleFarm.allAge=new int[Life+1];
cattleFarm.allAge[0]=1;
}
public static void updateCattle(CattleFarm cattleFarm) {
year= cattleFarm.year;
for ( int i=year; i < (cattleFarm.year+ During); i++) {
for( int j=Life-1;j>=0;j--) {
cattleFarm.allAge[j + 1] = cattleFarm.allAge[j];
int ableBorn = 0;
for (int k = MinBornAge; k <= MaxBornAge; k++) {
ableBorn = ableBorn + cattleFarm.allAge[k];
int _newBorn = 0;
for (int l = 0; l < ableBorn; l++) {
Random rand = new Random();
int r;
r = rand.nextInt(100);
if (r < TripleRate * 100) {
_newBorn += 3;
} else if (r < (TwinRate + TripleRate) * 100) {
_newBorn += 2;
} else {
_newBorn += 1;
}
}
cattleFarm.allAge[0] = _newBorn;
for (int p = 0; p < MinBornAge; p++) {
for (int q = 0; q < _newBorn; q++) {
Random rend = new Random();
int r;
r = rend.nextInt(100);
if (r < dieOfYoung * 100) {
_newBorn--;
}
}
cattleFarm.total += _newBorn;
}
}
}
year++;
}
}
public static void PrintCattleFarm(CattleFarm cattleFarm){
System.out.println(year+"年牛的数量:");
System.out.println(cattleFarm.total);
}
}
这是一个母牛繁殖的题目,然后有问题的应该是 文件CattleMultiply里面public static void updateCattle(){}这里面的代码有问题,但是我现在有点懵了,这个更新的代码不知道怎么写,所以我想问一下有谁能帮帮忙看看这段代码怎么写,万分感谢
public class Main{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
if(n==0)
break;
else
{
if(n<=4)
{
int sum=0;
sum=n;
System.out.println(sum);}
else
{
int array[]=new int[40];
int sum=4;
array[1]=array[2]=array[3]=array[4]=1;
for(int i=5;i<=n;i++){
array[i]=array[i-1]+array[i-3];
sum+=array[i];
}System.out.println(sum);
}
}
}
}
}