不知道怎么打印这个?

时间:2016-10-12 15:48:04

标签: java

我应该修改我为作业编写的代码:

NullHandler

以便打印从1开始的序号,而不是+ s。目前,它打印:

这是新代码应该打印的内容:

等等。

出于某种原因,我真的陷入困境,无法弄清楚。

2 个答案:

答案 0 :(得分:1)

您可以创建一个额外的变量来打印和增加

就像那样:

public class ToweringStrings2 {
    public static final int H = 10; //constant for the tower

    public static void main(String[] args) {
        drawTowers(H);
    }

    public static void drawTowers(int H) {
        int count = 1;
        for (int i = 1; i <= H; i++) {
            System.out.print(" ");
            for (int j = 1; j <= i; j++) {
                System.out.print(count++ + " ");
            }
            System.out.println();
        }
        for (int k = 1; k <= H + 2; k++) {
            System.out.print("@ ");
        }
        System.out.println();
    }
}

答案 1 :(得分:1)

第1步 - 让它打印变量而不是硬编码字符串。而不是System.out.print("+")System.out.print(counter)

要使其工作,您需要在与语句counter相同的范围内声明int counter = 0

运行它。你会看到它打印&#34; 0&#34;曾经用于打印&#34; +&#34;。

第2步 - 现在您需要在每次打印时将counter增加1。

找到要添加的正确位置:

 counter = counter + 1;

运行它并查看它是否有效。

进一步说明

var = var + 1的更简洁的替代方法是var++

您甚至可以在使用变量值的同时执行此操作:

 System.out.println(var++);

这可以用来非常简洁地表达一些算法 - 但它可能会让初学者感到困惑,所以在你熟悉基础知识之前,请不要使用这种技术。