我正在研究Java中的金字塔数字,它有这样的代码。
public class PyramidCharForLup {
public static void main(String[] args) {
int x = 7;
for (int i = 1; i <= x; i++)
{
for (int j = 1; j <= x - i; j++)
System.out.print(" ");
for (int k = i; k >= 1; k--)
System.out.print((k >=10) ?+ k : " " + k);
for (int k = 2; k <=i; k++)
System.out.print((k>= 10) ?+ k : " " + k);
System.out.println();
}
}
}
输出
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 1 2 3 4 5 6
7 6 5 4 3 2 1 2 3 4 5 6 7
我把代码砍掉并逐行研究我到目前为止我已经在这条线上学习了...... heheh
所以这是我想问的代码。
public class PyramidCharForLup {
public static void main(String[] args)
{
int x = 7;
for (int i = 1; i <= x; i++) {
for (int j = 1; j <= x - i; j++)
System.out.print(j);
}
}
}
如果您要安排,请输出123456123451234123121
以澄清
123456 12345 1234 123 12 1
第一个问题:代码i
中for (int j = 1; j <= x - i; j++)
成为i= 1234567
吗?
第二个问题:从初始化到1,如果增量1..2..3..5..6..7 ..是从1234567中减去最后一个数字的增量,如
1234567-1 ... 123456 - 1 ... 12345 - 1 ... 1234 - 1 ... 123 - 1 ... 12-1 ... 1-0 ....直到假我是正确?
这就是为什么我得到这个输出123456 12345 1234 123 12 1
答案 0 :(得分:1)
您的代码有两个嵌套循环(一个循环在另一个循环中运行)。这就是:
这一直持续到j为6。
这一直持续到我达到7.当i增加1时它是8而不是&lt; = 7所以外部循环也存在并且你的程序已经完成。
您的程序将计算并写入1..6的数字,然后从1..5开始,直到达到1..1