문제는 원래 문자열에서 중복 문자를 삭제하고 새 문자열을 반환하는 메서드를 작성하라고합니다. 예를 들어, 원래 문자열은 abracadabra이고 결과는 abrcd 여야합니다.문자열에서 중복 문자를 삭제하는 방법
StringBuilder를 사용하여 문자를 삭제하려고했지만 코드를 실행하려고 할 때 문제가 발생했습니다. 아무도 내가 그것을 고칠 수 있습니다.
public static String eliminateDuplicates(String str){
String result = "";
StringBuilder strings = new StringBuilder(str);
for(int i = 0; i<str.length(); i++){
for(int j = 1; j<str.length();j++){
if(str.charAt(i)==str.charAt(j)){
strings.deleteCharAt(j);
}
}
}
result = strings.toString();
return result;
}
변경했을 뭔가를 시도 그것을 반복하는 것은 항상 재앙을위한 조리법입니다 ... –
Rath 어쨌든, 삭제하는 것보다, 이미있는 문자열을 건너 뛰는 것을 제외하고, 원래 문자열의 사본을 작성하고, 하나씩 문자를 추가하는 것과 관련하여 생각하십시오. 'StringBuilder'는 문자를 찾는 아주 좋은 방법을 제공하지 않으므로,'Set'을 사용하여 거기에있는 것을 추적하는 것을 고려하십시오. –
Gene