java编程定义狗_Java编程:狗的繁殖问题

展开全部

这里模拟了一下32313133353236313431303231363533e78988e69d833133333966666120年后的情况,如果需要改变年份,对程序中的year参数进行修改即可

1.DogQ类public class DogQ {

private int age=0;

private String name="0";

public DogQ(){}

public DogQ(int age,String name)

{

this.age = age;

this.name = name;

}

public int getAge()

{

return age;

}

public void incAge()

{

age++;

}

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

}

PS:DogQ类中的name属性表示该只狗是否存活,当name=="1"表示活着,可以生育小狗,name=="0",表示它已经不能再生育小狗了。

2.模拟20年的生育情况public class TestDog {

public static void main(String[] args) {

int year=20;

DogQ dogs[] = new DogQ[10000];

dogs[0]=new DogQ(0,"1");

for(int i=1;i<=year;i++)

{

for(int k=0;k

{

if(dogs[k]!=null)

{

if(dogs[k].getName()=="1")

{

dogs[k].incAge();

}

}

}

for(int j=0;j

{

if(dogs[j]!=null)

{

if(dogs[j].getAge()==3 || dogs[j].getAge()==5)

{

if(dogs[j].getName()=="1")

{

for(int k=j;k

{

if(dogs[k]==null)

{

dogs[k]=new DogQ(0,"1");

break;

}

}

}

}

if(dogs[j].getAge()==6)

{

dogs[j].setName("0");

}

}

}

}

int count=0;

for(int i=0;i

{

if(dogs[i]!=null)

{

if(dogs[i].getName()=="1")

{

count++;

}

}

}

System.out.println("20年后共有狗"+count+"只");

}

}

3.运行情况如下:

e6d2595e63a08ccb414ecc0a7b743faa.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值