我得到了“10个坏循环”来解决。我需要对修改后的内容进行评论以使其正确。
我有
public class BrokenLoops {
//loop 5 times
public static void loop1() {
for (int i = 1; i != 10 ; i += 2) { //final statement i += 2 means i+2
System.out.println("In loop "+i);
}
System.out.println("Out of loop");
}
我知道问题是什么,永远不会是10。1、3、7、9、11等等。
我不知道的是,如果我键入其中一个,将运行多少个循环=9点或更高=11
代码会像
如果代码有=11,它会像
i = 1 "in loop"
1 = 3 "in loop"
i = 5 "in loop"
i = 7 "in loop"
i = 9 "in loop"
i = 11 "out of loop"
所以,有6个循环?5个循环的正确答案是=9?
提前谢谢
4条答案
按热度按时间bjp0bcyl1#
有几种可能的方法来解决你的问题。
例1
如果您只需要进入循环5次,您可以简单地将代码更改为:
这将打印如下内容:
在循环0中
回路1中
回路2中
环路3中
环路4中
循环外
例2
另一个选择是将终止值更改为=11(不要忘了,如果你的增量变成i+=3,这又会变成一个无限循环):
一旦i等于11,这将终止循环,因此输出为:
回路1中
环路3中
回路5中
回路7中
环路9中
循环外
例3
也可以将终止更改为i<10(或<=9或<=10或<11):
输出将与示例2中的相同。
例4
您还可以在循环中添加一个检查,以便在某个值为true时停止循环:
所以当checkint等于5时(循环进行了5次),循环就停止了。输出与例2和例3相同
yhqotfr82#
您发布的循环将作为
i
永远不会得到10的值。如果你提出终止条件
i != 9
然后循环运行4次。如果你提出终止条件
i != 11
然后循环运行5次。如果你提出终止条件
i <= 10
然后循环运行4次。要使其运行10次,请将for循环更改为:
编辑:
代码:
输出:
dkqlctbz3#
如果密码有我=11,它会像
你只要用i<10就可以得到想要的结果
dluptydi4#
当i不等于10时,此循环有条件运行。因为我从1开始,每次迭代增加2,所以我总是奇数,因此可以等于10。所以循环的条件总是正确的。简单地说:你的循环将无限期地进行。
关于来自的语句
for语句提供了一种对一系列值进行迭代的紧凑方法。程序员经常把它称为“for循环”,因为它反复循环直到满足特定条件。for语句的一般形式可以表示为:
初始化表达式初始化循环;循环开始时执行一次。
在每次迭代之前调用终止表达式。当它的计算结果为false时,循环终止。
在循环的每次迭代之后调用增量表达式;对于这个表达式来说,递增或递减一个值是完全可以接受的。
有关for语句的详细信息:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
//如果必须使用“!=”,请为5个循环编辑正确的代码比较如下:
虽然用它更好
这样,您的循环将在5次循环后结束,并且由于许多原因更加安全