【发布时间】:2014-03-28 14:48:48
【问题描述】:
我对编程很陌生。你能告诉我为什么会这样输出吗:
字符串索引超出范围:-1
class Palindrome {
public static String reverse(String s) {
if (s == "") {
return s;
}
else {
return reverse(s.substring(1,s.length())) + s.charAt(0);
}
}
public static void main(String args[]) {
System.out.print(reverse("galskjdf"));
}
}
【问题讨论】:
-
@ZouZou 此代码中没有字符串比较,只有子字符串,我看不出这个问题如何适用
-
@Absurd-Mind
if (s == "")怎么样? -
大声笑,没有一天没有这个重复 :-) 我几乎不知道 Java,但对我来说这似乎是一个设计缺陷,虽然我明白为什么这么多人喜欢这个是不正常的。跨度>
-
@Bartdude 这不是设计缺陷。人们在编程之前需要了解基本的 Java,就像在处理 C 和变体时应该了解指针一样。
-
@turbo
endIndex是专有的。所以s.length()是有效的。
标签: java