业务需求: 完成百度实时热榜展示功能:

在这里插入图片描述
![

](https://img-blog.csdnimg.cn/8caf302a957e492abbb5463c17f525b1.png)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
public class News implements Comparable {

    private String title;
    private int count;

    public News() {
    }


    public News(String title, int count) {
        this.title = title;
        this.count = count;
    }


    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }


    @Override
    public String toString() {
        return "News{" +
                "title='" + title + '\'' +
                ", count=" + count +
                '}';
    }


@Override
public int compareTo(News news) {


    return 0;
}

}

public static void main(String[] args) {
//创建Treeset 集合存储新闻对象
TreeSet news = new TreeSet<>(new Comparator() {
@Override
public int compare(News O1, News O2) {
//根据热度排序
int result = O1.getCount()- O2.getCount();
//还得根据名字排序
return result;
}
});
Scanner sc = new Scanner(System.in);
news.add(new News(“备孕者可以接种新冠疫苗”, 480));
news.add(new News(“土耳其召见中国大使 中方回应”, 463));
news.add(new News(“日本大阪将取消奥运火炬传递活动”, 447));
news.add(new News(“杀人犯纸面服刑15年 84人担责”, 431));
news.add(new News(“好利来辟谣卷入西藏冒险王事件”, 416));
news.add(new News(“湖北全球特别推介活动4月12日亮相”, 402));
news.add(new News(“2名中国矿工在尼日利亚遭绑架”, 388));
news.add(new News(“一季度北京平均月薪达11187元”, 374));
news.add(new News(“巴西侨领张伟遭枪击遇害”, 361));
news.add(new News(“浦东车管所称特斯拉目前上牌正常”, 348));
news.add(new News(“马云回国”, 498));
news.add(new News(“马云谈论charGTP”, 400));
news.add(new News(“结婚三年外遇”, 219));
news.add(new News(“java程序员月薪二万”, 410));
news.add(new News(“6G马上到来,程序员有了新挑战”, 390));
//遍历结合

    while (true) {
        int c=0;
        System.out.println("=============百度热搜================");
        for (News news1 : news) {
            c++;
            if(c<=10){
                System.out.println(news1);
            }

        }

        //System.out.println(news1.getTitle()+"\t"+news1.getCount());
        System.out.println("请选择需要查看的新闻");
        String title = sc.next();

        //如果Treset集合中的对象的属性修改了,但是地址值没有修改 不会重新排序
        //什么时候排序,在add的时候才会排序。先删除后添加
        for (News news1 : news) {
            if (news1.getTitle().equals(title)) {
                System.out.println("请选择你要执行的操作:1.点赞,2.评论.3.收藏");
                int i = Integer.parseInt(sc.next());
                if (i == 1) {     //添加3分
                    //删除原来老对象
                    news.remove(news1);
                    //创建一个新对象存储到集合中
                    News n = new News(news1.getTitle(), news1.getCount() + 3);
                    news.add(n);


                    break;
                } else if (i == 2) {//添加5分
                    //1.删除原来老对象
                    news.remove(news1);
                    //创建一个新对象放到集合中
                    News n = new News(news1.getTitle(), news1.getCount() + 5);
                    news.add(n);

                    break;

                } else if (i == 3) {//添加8分
                    //删除原来对象
                    news.remove(news1);
                    //创建一个新对象放到集合中
                    News n = new News(news1.getTitle(), news1.getCount() + 8);
                    news.add(n);


                    break;

                }

            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值