• 【Java刷题进阶】基础入门篇⑨


    📩很多朋友都问我学完基础知识以后怎样提高编程水平?当然是刷题啦!很多小伙伴都在纠结从哪里开始,今天给大家推荐一个身边朋友都在使用的刷题网站:点击进入牛客网刷题吧! 各大互联网大厂面试真题,成体系的分类题库,从入门到进阶,分类练习哦!


    🌕前言

    📩Java基础学习主要以练习为主,很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!

    在这里插入图片描述
    📩从基础开始练习,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进,从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
    在这里插入图片描述
    📩牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。快来点击链接开始刷题吧:牛客网刷题进阶!


    第一题:统计一句话中重复单词的个数

    🍂题目描述

    统计控制台输入的一句话中不同字⺟字符出现的次数。例如:现有字符串"Hello World!",上述字符串中各个字符的出现的次数为:
    H:1
    e:1
    l:3
    o:2
    W:1
    r:1
    d:1

    (不考虑数字、空格和特殊字符的个数,按照字符在字符串中出现的顺序显示。相同字母的大小写算两个不同字符)

    输入描述:
    控制台任意输入一段话,可以有空格和特殊符号
    输出描述:
    输出字符和字符对应的出现字数(字符和出现次数之间用:隔开,输出逻辑已经给出)

    🍂示例

    输入: Hello World
    输出:
    H:1
    e:1
    l:3
    o:2
    W:1
    r:1
    d:1

    🍃题解

    import java.util.*;
     
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String line = scanner.nextLine();
            Map<Character, Integer> map = new LinkedHashMap<Character, Integer>();
     line = line.replaceAll("[^a-zA-Z]", "");
    for (int i = 0; i < line.length(); i++) {
        char c = line.charAt(i);
        if (map.containsKey(c)) {
            map.put(c, map.get(c) + 1);
        } else {
            map.put(c, 1);
        }
    }
            //write your code here......
           
     
            Set<Map.Entry<Character, Integer>> entrys = map.entrySet();
            for (Map.Entry<Character, Integer> entry : entrys) {
                System.out.println(entry.getKey() + ":" + entry.getValue());
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    第二题:map简单应用

    🍂题目描述

    现在有一个map集合如下:
    Map map = new HashMap();
    map.put(1, “Amy”);
    map.put(2, “Joe”);
    map.put(3, “Tom”);
    map.put(4, “Susan”);

    要求:

        1.遍历集合,并将序号与对应人名打印。
        2.向该map集合中插入一个编码为5姓名为控制台输入的人名的信息
        3.移除该map中的编号为4的信息
        4.将map集合中编号为3的姓名信息修改为"Tommy"
        5.再次遍历经过上述操作后的集合,并将序号与对应人名打印。(注:第一次输出和第二次输出需用空行隔开)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    输入描述:
    String类型人名
    输出描述:
    先将题中给定的集合遍历输出,完成题中要求之后再遍历输出一次(输出格式为key+“:”+value,第一次输出和第二次输出用空行隔开)

    🍂示例

    输入: David
    输出:
    1:Amy
    2:Joe
    3:Tom
    4:Susan

    1:Amy
    2:Joe
    3:Tommy
    5:David

    🍃题解

    import java.util.*;
     
    public class Main {
        public static void main(String[] args) {
            Scanner scanner  = new Scanner(System.in);
            String name = scanner.next();
            Map<Integer, String> map = new HashMap<Integer, String>();
            map.put(1, "Amy");
            map.put(2, "Joe");
            map.put(3, "Tom");
            map.put(4, "Susan");
            for(Map.Entry<Integer, String> i: map.entrySet()) //输出原哈希表
                System.out.println(i.getKey() + ":" + i.getValue());
            System.out.println(); //空行
            map.put(5, name); //放入操作
            map.remove(4); //移除编号4
            map.replace(3, "Tommy"); //替换value值
            for(Map.Entry<Integer, String> i: map.entrySet()) //输出处理后的哈希表
                System.out.println(i.getKey() + ":" + i.getValue());
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    第三题:集合排序

    🍂题目描述

    有三个客户对象,将三个客户对象存入集合中,并将其按照消费总额从高到低排序

    输入描述:
    三个整数,分别代表三个客户的消费值
    输出描述:
    根据消费额从高到低排序后的集合(输出部分预设代码已经给出,为保证输出格式请不要随意更改)

    🍂示例

    输入: 234 456 789
    输出:
    [Customer{name=‘小红’, consumption=789},Customer{name=‘小军’,
    consumption=456}, Customer{name=‘小明’,consumption=234}]

    🍃题解

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.Scanner;
     
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            Customer customer1 = new Customer("小明",scanner.nextInt());
            Customer customer2 = new Customer("小军",scanner.nextInt());
            Customer customer3 = new Customer("小红",scanner.nextInt());
            List<Customer> customers = new ArrayList<>();
            customers.add(customer1);
            customers.add(customer2);
            customers.add(customer3);
     
            //调用排序接口
            Collections.sort(customers);
     
            System.out.println(customers);
     
        }
    }
     
    class Customer implements Comparable<Customer>{
        private String name;
        private int consumption;
     
        public Customer(String name, int consumption) {
            this.name = name;
            this.consumption = consumption;
        }
     
        @Override
        public String toString() {
            return "Customer{" +
                    "name='" + name + '\'' +
                    ", consumption=" + consumption +
                    '}';
        }
     
        //重写compareTo()方法,按照消费额从高到低排序
        @Override
        public int compareTo(Customer c){
            return c.consumption-consumption;
        }
     
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
  • 相关阅读:
    知识库系统推荐,强大的全文检索与文档分类管理功能
    算力网络调研笔记
    vue模板语法下集
    AI中英文翻译软件,一键批量多语种翻译
    简述Mysql中索引类型及对数据库的性能的影响
    1011 World Cup Betting
    基于vue框架的uniapp小程序开发发现了新大陆
    在python里如何实现switch函数的功能
    css ppt操作面板 预览时其中标签定位问题
    常用的软件架构设计模式
  • 原文地址:https://blog.csdn.net/zhangxia_/article/details/126616508