Java For循环使用单个变量迭代100 64 36 16 4 0 4 16 36 64 100



我想用下面的格式写一个for循环,只使用一个变量e。(____)空格是我唯一想要更改的内容。它应该打印出100 64 36 16 4 4 16 36 64 100。我不知道在它达到0后如何重申。:

for(_____________________)
    System.out.print(______________ + " ");
System.out.println();

这就是我迄今为止所尝试的。有没有一种方法可以只使用一个变量e,并且仍然让它通过已经使用的数字来重申?:

for(int e = 10; e > 0; e -= 2)
    System.out.print(e * e + " ");
System.out.println();

使用e2=(-e)2的事实,并在e不再大于或等于-10时停止。

使用负数相乘为正数的事实,并使用e>=-10。

    for (int e = 10; e > -11; e -= 2)
        System.out.print(e * e + " ");
    System.out.println();

不过,我觉得从消极到积极更容易理解。在中添加括号通常是个好主意

for (int e = -10; e < 11; e += 2) {
    System.out.print (e * e + " ");
}
System.out.println();

为了利用负数乘以负数得到正数的事实,我们可以使用您当前的解决方案。举个例子:e=2给你4,e=-2也给你4。因此,我们可以对您的功能进行微调:

for(e = 10; e >= -10; e -= 2)
    System.out.print(e * e + " ");
System.out.println();

这应该是100 64 36 16 8 4 4 8 16 36 64 100。

有能力的程序员充分意识到自己头骨的大小受到严格限制;因此,他非常谦虚地处理编程任务,除其他外,他避免了像瘟疫这样的聪明把戏。

--Edsger W.Dijkstra

    for(int e : new int[]{ 100, 64, 36, 16, 4, 0, 4, 16, 36, 64, 100 }) {
        System.out.print(e + " ");
    }
    System.out.println();

最新更新