我是java&的初学者我真的需要这个答案。 我一直试图按照这个顺序创建一个三角形:
1
21
321
4321
54321
即使我的语法正确,我也经历过非终止循环的逻辑错误。
这是我正在尝试修复的程序:
for(i=1;i>=1;i++)
{
for(j=i;j<=i;j=j-1)
{
System.out.print(j);
}
System.out.println();
}
真的很感激帮助。
答案 0 :(得分:2)
由于这个
,你得到非终止循环for(i=1;i>=1;i++)
代码表示,如果i
大于或等于1(i>=1
),您希望循环正文,并且此i
值总是递增1
( i++
)对于每个循环,因此它总是具有大于1
的值,并且此条件对于循环代码始终是正确的。所以你必须纠正循环语句。
答案 1 :(得分:2)
我不确定我是否完全理解你的问题但是 以下代码为我创建了一个漂亮的三角形。
int i,j;
for(i = 1; i>= 1 && i < 10; i++)
{
for(j = i; j <= i && j > 0; j = j - 1)
{
System.out.print(j);
}
System.out.println();
}
答案 2 :(得分:1)
for(i=1;i>=1;i++)
在此不正确,因为1上的增量将始终导致数字大于1,因此循环将仅在i = (2^31 -1)
次迭代后结束。因此,对于给定的输出,您的循环应如下所示:
for(int i=1;i<=5;i++)
{
for(int j=i;j>=1;j--)
{
System.out.print(j);
}
System.out.println();
}
答案 3 :(得分:0)
贯穿循环
for(j=i;j<=i;j=j-1) (assume i is 2 for the example)
j = 2,是2&lt; = 2,是:运行循环
j = j-1(j = 2-1 = 1)
j = 1,是1&lt; = 2,是:运行循环
j = j-1(j = 1-1 = 0)
j = 0,是0 <= 2,是:运行循环
j = j-1(j = 0-1 = -1)
j = -1,是-1&lt; = 2,是:运行循环
j = j-1(j = -1-1 = -2)
等
j越来越小,所以它总是小于2。
我有完全相反的问题,它总是越来越大,所以它总是大于1。
答案 4 :(得分:0)
public static void main(String[] args)
{
for(int x=1;x<=5;x++)
{
for(int j=x;j>=1;j--)
{
System.out.print(j);
}
System.out.println();
}
}