题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int months = in.nextInt();
ArrayList<Rabbit> rabbits = new ArrayList<>();
rabbits.add(new Rabbit(0));
ArrayList<Rabbit> newBorn;
for (int i = 0; i < months; i++) {
newBorn = new ArrayList<>();
for (Rabbit rabbit : rabbits) {
// 在for遍历过程中,将新生的兔子加入newBorn集合中
if (++rabbit.living > 2) {
newBorn.add(rabbit.giveBirth());
}
}
rabbits.addAll(newBorn);
}
System.out.println(rabbits.size());
}
}
class Rabbit {
int living;
public Rabbit(int living) {
this.living = living;
}
public Rabbit giveBirth() {
return new Rabbit(1);
}
}

查看16道真题和解析