魔法花园
上面的神奇植物每四年滴两粒种子。 种子发芽,并由 次年,每年都转向一家有1年历史的工厂。
类似的东西:
Year 1 2 3 4 5 6 7 8 9 10 …
Plants 1 1 1 1 3 3 3 3 9 9 …
我需要制作一个。
用一些种子“种子”花园的构造函数。
一种方法,根据年龄,返回花园中的植物数量 花园。
一种非递归方法,它返回给定数量的花园年龄 植物
递归方法,返回给定数量的花园年龄 植物
到目前为止我得到的是。 public class test1 {
public static void main(String [] args)
{
String years = "";
String plants = "";
int num_years = 30;
int plant_count = 1;
for(int i=1;i<= num_years;i++) {
plant_count = (i%4 == 0)? plant_count * 3:plant_count*1;
years = years + i+ " ";
plants = plants + plant_count+ " ";
}
System.out.println(years);
System.out.println(1 + " "+ plants);
}
}
输出结果是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1 1 1 1 3 3 3 3 9 9 9 9 27 27 27 27 81 81 81 81 243 243 243 243 729 729 729 729 2187 2187 2187
我遇到的问题是水平打印,在植物数量达到三位数后,它们不再与年份对齐。
我可以做些什么来使一年中的年份和下一年的植物数量?
例如:
Years Plants
1 1
2 1
3 1
4 1
5 3
6 3
等..
答案 0 :(得分:0)
尝试用制表符而不是空格分隔它们。这样,当你得到三位数时,数字集之间就有足够的填充。