云盘资源分享论坛

 找回密码
 立即注册
搜索
热搜: 书籍 电影 音乐
查看: 178|回复: 0

Java基础,数组排序

[复制链接]

966

主题

156

回帖

4492

积分

中级会员

Rank: 3Rank: 3

UID
32013
金钱
3371
钻石
7
积分
4492
注册时间
2023-7-27
发表于 2023-8-1 14:42:28 | 显示全部楼层 |阅读模式

使用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数组的声明和定义
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|云盘资源分享论坛

GMT+8, 2025-6-25 13:51

Powered by Discuz!    联系邮箱:admin@panjdzy.com

本站资源来自互联网用户收集发布,仅供用于学习和交流。

如有侵权之处,请联系站长并出示版权证明以便删除,敬请谅解!

快速回复 返回顶部 返回列表