java母牛繁殖问题

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);
                }
 
            }            
        }
    }
}