我创建了 Word 类。Word 有一个构造函数,它接受一个字符串参数和一个方法 getSubstrings,它返回一个包含单词所有子字符串的字符串,按长度排序。
例如,如果用户提供输入“rum”,该方法将返回一个字符串,该字符串将打印如下:
r
u
m
ru
um
rum
我想连接字符串中的子字符串,用换行符(“\ n”)分隔它们。然后返回字符串。
代码:
public class Word {
String word;
public Word(String word) {
this.word = word;
}
/**
* Gets all the substrings of this Word.
* @return all substrings of this Word separated by newline
*/
public String getSubstrings()
{
String str = "";
int i, j;
for (i = 0; i < word.length(); i++) {
for (j = 0; j < word.length(); j++) {
str = word.substring(i, i + j);
str += "\n";
}
}
return str;
}
但它抛出异常:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
我卡在了这一点上。也许,您根据此方法签名有其他建议public String getSubstrings()
。
如何解决这个问题?