java - 计算机科学 : Java MC

标签 java

private int[] myStuff;
/** Precondition: myStuff contains int values in no particular order.
  /*/ 
public int mystery(int num)
{
    for (int k = myStuff.length-1; k>=0; k--)
    {
        if (myStuff[k] < num)
        {
           return k;
        }
    }
return -1;
}

以下哪项最能描述 myStuff 之后的内容 以下语句已被执行?

int m = mystery(n); 

答案:位置 m+1 到 myStuff.length-1 中的所有值都是 大于或等于n。

谁能解释一下为什么这个答案是正确的?我不确定它们的内容是什么意思,但是我得出的结论是 myStuff 没有改变,因为代码不会改变 myStuff 的值。

最佳答案

前提条件是,myStuff 包含不按特定顺序排列的整数值。 for 循环初始化为 k 等于 myStuff 的长度减一(因为数组索引从零开始),当 k 更大时进行迭代小于或等于 0,并在每次迭代中从 k 中减一。

如果你看一下if语句,当myStuff[k]<对应索引处的值时,它会返回k的当前值。/strong> 小于 n;因此,数组索引中大于返回值加一的所有值都必须大于或等于n。如果 myStuff 中没有数字整数大于 n,则返回减一。

我希望这会有所帮助。

顺便说一句 - 你是对的,mySyuff 的内容没有改变。

关于java - 计算机科学 : Java MC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906887/

相关文章:

java - WINE可以在Linux下打开独立的Windows应用程序吗?

java - 如何在 Java 中将不安全字符转换为 XML 的安全字符?

java - 无法从java中的URL下载文件

java - 如何在没有扩展的情况下在类之间共享变量

java - 如果我打算覆盖所有方法,使用继承是不是不好的做法?

java - 将 JavaFX 桌面应用程序转换为 Web 应用程序

java - 检查 ArrayList 是否为空

java - java中sql的字符串参数和SELECT准备语句

java - 如何从众多的swing组件中获取用户版本?

java - 当我执行 get 并抛出异常时,CompletableFuture 会自动取消吗?