我遇到的问题是显示带有嵌套循环的三角形图案。更具体地说,是颠倒的。我目前难以显示三角形的左侧。我可以在一定程度上看到问题但我无法解决它。我认为问题是我无法在第二个for循环语句中正确显示每行的符号数,而不会显示太多数字。这是我的代码。
public class DisplayPatternC {
public static void main(String[] args) {
int rows = 7;
int noOfSpaces = 0;
for (int i = 1; i <= rows; i++) {
for (int j = 7; i <= j; j--) {
System.out.print(i);
}
System.out.println();
}
}
}
这是我的输出:
1111111
222222
33333
4444
555
66
7
我想要的输出是:
1111111111111
22222222222
333333333
4444444
55555
666
7
答案 0 :(得分:0)
好吧,只需观察输出就可以确定每行的位数是:(从底部开始)1,3,5,7,9 ...这是2n - 1
的公式。如果您希望按指定的方式制作三角形,那么您需要相应地输出空格,这样可以使用模式0,1,2,3,4 ...
因此,获取每个$i
的位数的公式为2 * ($rows - $i + 1) - 1
。并且在开始打印数字之前的空格数是$i - 1
。所以去图:)