大家好,我被布置了家庭作业,要求我找到字符串的所有不同子字符串。
我已经实现了一种方法,它会告诉您字符串的所有子字符串,但我需要帮助弄清楚如何不计算已经作为子字符串计算过一次的子字符串,因为赋值是为了找到不同的子字符串。
public int printSubstrings1(int length)
{
for(int i=0; i<text.length()-length+1;i++)
{
String sub = text.substring(i,length+i);
counter++;
}
return counter;
}
在这里,我从给定的字符串中传递我想要的子字符串的长度。
我正在通过另一种方法来做到这一点。
因此,给出的示例字符串是“fred”,而不同的子字符串将为 10。我的方法将输出正确的答案,因为该字符串不包含任何重复的字母。我陷入了重复子字符串的部分。
如果我输入 Fred.这就是我的方法将输出的内容
length 1
f
r
e
d
长度2
fr
re
ed
长度3
fre
red
长度4
弗雷德
public ArrayList<String> getAllUniqueSubset(String str) {
ArrayList<String> set = new ArrayList<String>();
for (int i = 0; i < str.length(); i++) {
for (int j = 0; j < str.length() - i; j++) {
String elem = str.substring(j, j + (i+1));
if (!set.contains(elem)) {
set.add(elem);
}
}
}
return set;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)