对齐列而不是行

时间:2017-11-03 00:02:30

标签: java

魔法花园

上面的神奇植物每四年滴两粒种子。 种子发芽,并由 次年,每年都转向一家有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

等..

1 个答案:

答案 0 :(得分:0)

尝试用制表符而不是空格分隔它们。这样,当你得到三位数时,数字集之间就有足够的填充。