gpt4 book ai didi

java - 打印排序字符串时去除重复项

转载 作者:行者123 更新时间:2023-12-02 02:32:21 25 4
gpt4 key购买 nike

所以我有一个java程序,它从用户输入中获取一个字符串,对其进行排序,查找频率,然后按字母顺序打印它。我唯一的问题是它还会打印重复项。因此,如果字母 d 在字符串中出现 3 次,则打印结果如下:

频率:3

频率:3

频率:3

对于这个项目,我不允许使用任何内置 java 排序函数(包括 HashMap )。关于如何阻止这种情况有什么建议吗?这是我的代码。谢谢!

     char[] charArray = userSort.toCharArray();
char tempChar;
for (int i = 0; i < charArray.length; i++) {
for (int j = 0; j < charArray.length; j++) {
if (charArray[i] < charArray[j]) {
tempChar = charArray[i];
charArray[i] = charArray[j];
charArray[j] = tempChar;
}
}
}
String sortedString = "";
for (int i = 0; i < charArray.length; i++) {
userSort += charArray[i];
}
System.out.println(sortedString + "\n");
int counter;
sortedString = "";

for (int i = 0; i < charArray.length; i++) {
counter = 0;

for (int j = 0; j < charArray.length; j++) {
if (charArray[i] == charArray[j]) {
counter++;
}
}
if (!sortedString.contains("Char: " + charArray[i])) {
if (sortedString.equals("")) {
sortedString += " " + charArray[i] + " freq: " + counter + "\n";
} else {
sortedString += " " + charArray[i] + " freq: " + counter + "\n";
}
}
}
System.out.println(sortedString);

最佳答案

确保 i != 0。将 charArray[i] 与 charArray[i-1] 进行比较。如果不相等,则打印结果。

关于java - 打印排序字符串时去除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46900572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com