Java 此循环执行的最大次数
我有这个循环,我正在准备考试。我想看看这个循环执行了多少次。 在不知道K和somevalue的值的情况下,我们如何确定小的打印次数。书上的答案是K-1Java 此循环执行的最大次数,java,Java,我有这个循环,我正在准备考试。我想看看这个循环执行了多少次。 在不知道K和somevalue的值的情况下,我们如何确定小的打印次数。书上的答案是K-1 for(int i=2; i<= k; i++) if(arr[i]< someValue) System.out.println("SMALL"); for(int i=2;i在这种情况下,somevalue无关紧要,您可以使用另一个变量计算自己执行的循环的计数,使用以下方法: in
for(int i=2; i<= k; i++)
if(arr[i]< someValue)
System.out.println("SMALL");
for(int i=2;i在这种情况下,somevalue
无关紧要,您可以使用另一个变量计算自己执行的循环的计数,使用以下方法:
int count = 0;
for (int i = 2; i <= k; i++) {
if (arr[i] < someValue) {
System.out.println("SMALL");
}
count++;
}
System.out.println("this for loop executed: " + count + " times.");
int count=0;
对于(inti=2;i如果它是
for (int i = 0; i < k; i++) {
for(int i=0;i
循环将运行k
次,因为您从0
开始,但未到达k
- 因此,将
2
添加到您获得的k-2
次的起点
- 加回到
1
,因为它是问题需要更多的输入,因为没有arr[]
和somevalue
的值,我们无法找到答案。
但是,由于循环从2开始并一直运行到它等于k
,我们可以说它将一直运行到k
次-1
(因为循环从2开始是a有任何关于arr
的附加信息吗?您可以确定循环运行的次数(假设它不会因为ArrayIndexOutOfBounds或类似的异常而停止),但如果不了解arr和someValue,就不可能确定打印多少次SMALL。这本书的意思是最大打印次数吗?也许这样才有意义。你问的是两个不同的问题:循环迭代的次数和打印单词“SMALL”的次数。是哪一个?“无法确定SMALL
将打印的次数"啊,但是根据问题的标题,我们不想知道它将打印多少次,但它可以打印的最大次数,当然是当<代码>如果<代码>条件始终为真时。@Andreas很好的观点!我认为这个问题应该是关于循环迭代,而不是被条件所蒙蔽。只需在陈述。如果这是一个学习Big-O的练习,那么它试图展示在寻找最坏(最大)情况时,条件逻辑之类的东西是如何被消除的。因此,If
语句可能是练习的一个重要部分,这就是为什么它存在的原因。