我是APCS的新手,正在练习我的考试。在对代码进行了逐步分析之后,我确信答案未在下面列出,而是“ S”。但是,我的老师说答案是“ D”

你能向我解释这个问题吗?



给出以下方法:

public static String WhatsUp (String str1, String str2)
{
    int index = str1.indexOf(str2);
    if (index != -1)
        str1 = str1.substring(0, index) +
                str1.substring(index + str2.length());
    return str1;
}


这行代码输出什么?

System.out.print( WhatsUp(“SpongeBobSquarePants”, “S”));


(一)pongeBobquare裤子

(B)海绵宝宝

(C)海绵宝宝方形裤子

(D)海绵宝宝

(E)帕特里克

最佳答案

int index = str1.indexOf(str2);


索引设置为0

str1.substring(0, index)


这不返回任何内容(索引为零,端点为排他(不包括)

公共字符串子字符串(int beginIndex,int endIndex)


  返回一个新字符串,该字符串是该字符串的子字符串。子串
  从指定的beginIndex开始,并扩展到位于的字符
  index endIndex-1。因此,子字符串的长度为
  endIndex-beginIndex。


+ str1.substring(index + str2.length());


这将返回位置1的所有内容

return str1;


答案是D

07-25 23:27
查看更多