class aaaaa
{
public static void main(String[] args)
{
for (int i = 0; i <= 10; i++) {
for (int k = 10; k < i; k++) {
System.out.print(" ");
}
for (int j = 100; j >=10; j=j-10) {
System.out.print(j);
}
System.out.println("");
}
}
}
我希望它像输出一样:
100 90 80 70 50 40 30 20 10
-----------------
90 90 70 60 50 40 30 20 10
-----------------
80 70 60 50 40 30 20 10
-----------------
70 60 50 40 30 20 10
-----------------
60 50 40 30 20 10
-----------------
50 40 30 20 10
-----------------
40 30 20 10
-----------------
30 20 10
-----------------
20 10
-----------------
10
-----------------
但它总是如下:
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
100908070605040302010
-----------------
答案 0 :(得分:1)
看看我的示例代码。它完全符合您的要求。
select count(*) from table where timestamp < :t1
答案 1 :(得分:0)
永远不会执行第一个嵌套for
循环。外部for循环将i
设置为最多10.条件k < i
在第一次迭代时永远不会成立,因此永远不会运行。
所以删除它:
for (int k = 10; k < i; k++) {
System.out.print(" ");
}
您的第二个嵌套for
循环将始终具有相同的输出。无论如何,条件总是相同的。要在数字之间加上空格,您需要将System.out.print(" ");
放在此for
循环中。
您需要将第二个循环更改为:
for (int j = 100 - (10 * i); j > 10; j=j-10) {
System.out.print(j);
System.out.print(" ");
}
请注意,我们将j
的起始索引更改为100 - (10 * i)
。这意味着对于外循环的每次迭代,将删除最大的数字。
在迭代1中,第一个结果是100 - (10 * 0)= 100。
在迭代2中,第一个结果是100 - (10 * 1)= 90。
在迭代3中,第一个结果是100 - (10 * 2)= 80。
...
在迭代10中,第一个结果是
100 - (10 * 9) = 10
。
最后一个结果将始终为100 - (10 * 9) = 10
。 (我已将条件从j >= 10
更改为j > 10
。否则,最后的结果将为100 - (10 * 10) = 0
。)
最终的工作代码:
class aaaaa
{
public static void main(String[] args)
{
for (int i = 0; i <= 10; i++) {
for (int j = 100 - (10 * i); j > 10; j=j-10) {
System.out.print(j);
System.out.print(" ");
}
System.out.println("");
}
}
}