我应该修改我为作业编写的代码:
NullHandler
以便打印从1开始的序号,而不是+ s。目前,它打印:
这是新代码应该打印的内容:
等等。
出于某种原因,我真的陷入困境,无法弄清楚。
答案 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++);
这可以用来非常简洁地表达一些算法 - 但它可能会让初学者感到困惑,所以在你熟悉基础知识之前,请不要使用这种技术。