|
使用java语言,输入一串数字,求,各个数字出现的次数,并按出现次数的大小进行排序。例如,输入次数:1 2 3 4 2 12
输出:2出现次数3,1出现次数2,3出现次数1,4出现次数1
[mw_shl_code=java,true]可以使用Java中的`HashMap`来实现这个需求。首先,你需要将输入的数字存储到HashMap中,并统计每个数字出现的次数。然后,你可以使用Java中的排序方法(如`Collections.sort`)对HashMap中的键值对按照值进行排序。
下面是一个示例代码:
```java
import java.util.*;
public class NumberCountSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一串数字:");
String input = scanner.nextLine();
// 将输入的数字转换为数组
String[] numbers = input.split(" ");
// 使用HashMap统计数字出现次数
HashMap<String, Integer> countMap = new HashMap<>();
for (String num : numbers) {
if (countMap.containsKey(num)) {
countMap.put(num, countMap.get(num) + 1);
} else {
countMap.put(num, 1);
}
}
// 对HashMap中的键值对按值进行排序
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(countMap.entrySet());
Collections.sort(entryList, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue() - o1.getValue();
}
});
// 输出结果
for (Map.Entry<String, Integer> entry : entryList) {
System.out.println(entry.getKey() + "出现次数" + entry.getValue());
}
}
}
```
你可以将以上代码保存为`NumberCountSort.java`文件,并在命令行中执行`java NumberCountSort`运行程序。然后输入一串数字(每个数字以空格分隔),即可得到按出现次数排序的结果。[/mw_shl_code]
|
盘基地论坛免责声明
1、本站资源来自互联网用户收集发布,仅供用于学习和交流。
2、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。
3、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决。
4、联系邮箱:admin@panjdzy.com
5、官方网址:www.panjdzy.com
6、备用网址:www.panjd.top
上一篇:本地视频播放器下一篇:Java数组的声明和定义
|