【发布时间】:2015-09-19 12:37:29
【问题描述】:
我正在尝试从字符串中删除重复的常用字符,但问题只是最后一个常用字符,在这种情况下是 y 被删除,所有其他常用字符都按原样显示。我没有任何异常。
public class stringCompare {
private static String s;
private static char[] c;
private static boolean[] b;
public static void judge(boolean flag , int l){
b[l] = flag;
}//judge
public static void main(String[] args) {
s = "unlucky unlucky unlucky unlucky";
c = new char[s.length()];
b = new boolean[s.length()];
int j;
System.out.println(s.length());
for(int i=0 ; i<s.length() ; i++){
c[i] = s.charAt(i);
System.out.println(c[i]);
for(j=0 ; j<s.length() ; j++){
System.out.println(c[j]);
if(c[i] == s.charAt(j)){
judge(true , i);
}//if
else if(c[i] != s.charAt(j)){
judge(false , i);
}//else if
}//for
}//for
StringBuilder sb = new StringBuilder(s.length());
for(int k=0 ; k<b.length ; k++){
System.out.println(b[k] +"===="+k);
if(b[k] == false){
sb.append(c[k]);
}//if
}//for
System.out.println(sb.toString());
}//main
}//stringCompare
Output from the program -
unluck unluck unluck unluck
但我期待输出 - 不幸
【问题讨论】:
-
什么是“重复通用字符”?
-
@Thorbjørn Ravn Andersen unlucky 重复出现,但我们可以看到字符串集合中有五个 unlucky。我想既然整个字符串都在重复,所以只会显示第一个字符串,而其他所有字符串都会被删除。
-
应该是
delete repeating word -
那么你想检测字符串中已经出现的子字符串并在复制时跳过它们?
-
@Thorbjørn Ravn Andersen 是的,先生,但我不允许在这里使用任何通用方法
标签: java arrays string character