【问题标题】:Java subString and indexOfJava subString 和 indexOf
【发布时间】:2013-11-14 02:45:12
【问题描述】:

我收到了以下问题。

String string1 = "The ice cold ice-cream";
String string2 = "phone";
String string3 = "";
int p = string1.indexOf("ice",8);
string3 = string1.substring(0, p + 1);
string3 = string3 + string2.toUpperCase();

我似乎无法获得第二个和第三个值。

子字符串和int p 真的让我很困惑。

任何人都可以提供答案并解释如何解决这个问题。

谢谢。

【问题讨论】:

  • 第二个和第三个期望什么类型的价值?
  • @Masud:string3的第二个和第三个值。
  • @mike yaworski:代码没有输出任何东西——问题是代码中各个点的 string3 的值是什么。
  • 每次更改后只需打印出string3 的值,就可以很容易地对此进行测试。如果您对正在发生的事情感到困惑,您可以简单地用 Google 搜索 Java 的 .subtring(int,int) 方法和 Java 的 .indexOf(String, int) 方法。

标签: java string substring


【解决方案1】:

string3 的第一个值为空字符串。

现在 p 是 string1 中“ice”的索引,出现在第 8 个索引之后。所以 p 是 13(你可以自己数)。

string3 的第二个值是 string1 从第 0 个索引到第 (13+1) 个索引。或 string1 从 0 到第 14 个索引。结果是

"The ice cold i" // note the 14th index is not included

最后,string3 的第三个值是 string3 之前的值加上 string2 的大写字母。这是

"The ice cold i" + "PHONE" or simply "The ice cold iPHONE"

如果您在使用 String 方法时遇到问题,请查看 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

【讨论】: