3 回答
TA贡献1868条经验 获得超4个赞
我更改代码并添加说明。
boolean behindExist;
for (int i=1; i<str1.length(); i++) {//loop for all character in string
behindExist = false;
for (int j=0; j < i; j++) {
//check same character is exist before now char
//Ex) if (i = 3), check
//str1.charAt(3) == str1.charAt(0);
//str1.charAt(3) == str1.charAt(1);
//str1.charAt(3) == str1.charAt(2);
if (str1.charAt(i)==str1.charAt(j)) {
behindExist = true;
}
}
if (!behindExist) {//if not behindExist
arr1[i]=str1.charAt(i);//add to arr1
System.out.print(arr1[i]+"");//and print character
}
}
而且,这是我的代码。
Scanner sc = new Scanner(System.in);
System.out.print("input a string : ");
String input = sc.nextLine();
for(int charCode : input.chars().distinct().toArray()) {
System.out.print((char)charCode);
}
System.out.print(" : only made up of these alphabets");
sc.close();
短的。我喜欢它。我希望这能有所帮助。:)
TA贡献1831条经验 获得超9个赞
我们可以使用像这样简单的东西吗?该集合将包含构成单词的唯一字符。
char[] charArr = str1.toCharArray();
Set<Character> charSet = new HashSet();
for(char c: charArr){
charSet.add(c);
}
TA贡献1813条经验 获得超2个赞
为什么要把问题复杂化。
尝试在 java 中使用集合的功能。
是这样的:-
Set<Character> set = new HashSet(Arrays.asList(str1.toCharArray()));
添加回答
举报