我想用下面的格式编写一个for循环,只使用一个变量e。 (____)空格是我想要改变的唯一内容。它应打印出100 64 36 16 4 0 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();
答案 0 :(得分:10)
使用e 2 =( - e) 2 的事实,并在e
不再大于或等于{{1}时停止}。
答案 1 :(得分:3)
使用负数相互乘以的事实为正,并使用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();
答案 2 :(得分:1)
为了利用负数乘以负数给出正数的事实,我们可以使用您当前的解决方案。举个例子: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 0 4 8 16 36 64 100。
答案 3 :(得分:-1)
有能力的程序员完全了解自己头骨的严格限制;因此,他完全谦虚地接近编程任务,除此之外,他还避免像瘟疫那样聪明的伎俩。
- 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();