Java 此循环执行的最大次数

Java 此循环执行的最大次数,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

我有这个循环,我正在准备考试。我想看看这个循环执行了多少次。 在不知道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
无关紧要,您可以使用另一个变量计算自己执行的循环的计数,使用以下方法:

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
    语句可能是练习的一个重要部分,这就是为什么它存在的原因。