统计一句话中重复单词的个数、 map简单应用 题目

JAVA42 统计一句话中重复单词的个数

描述

统计控制台输入的一句话中不同字⺟字符出现的次数。例如:现有字符串"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

 

分析:

​ 1.判断字符串中的大小写字母。

​ 2.把字符串分成 一个个字符,判断map集合中是否已经存在该字符。

​ 3.存在则取出value值+1。不存在的话,把该字符存入map集合。

 

代码:

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>();

        //write your code here......
        for(int i=0;i<line.length();i++){
            if((line.charAt(i)>=97 && line.charAt(i)<=122 )||(line.charAt(i)>=65 && line.charAt(i)<=90)){
               char c=line.charAt(i);
                if(map.containsKey(c)){
                    map.put(line.charAt(i),map.get(c)+1);
                }else {
                    map.put(line.charAt(i),1);
                }

            }
        }

        Set<Map.Entry<Character, Integer>> entrys = map.entrySet();
        for (Map.Entry<Character, Integer> entry : entrys) {
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
    }
}

 

 

JAVA43 map简单应用

描述

现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
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.再次遍历经过上述操作后的集合,并将序号与对应人名打印。(注:第一次输出和第二次输出需用空行隔开)

输入描述:

String类型人名

输出描述:

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

示例:

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

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

 
 

分析:

​ 1.map的方法的使用。

 

代码:

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");

        //遍历
        Set<Map.Entry<Integer,String>> entrySet = map.entrySet();
        for (Map.Entry<Integer, String> entry : entrySet) {

            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + ":" + value);
        }
        //write your code here......
        //向该map集合中插入一个编码为5姓名为控制台输入的人名的信息
        map.put(5,name);

        //移除该map中的编号为4的信息
        map.remove(4);

        //将map集合中编号为3的姓名信息修改为"Tommy"
        map.replace(3,"Tommy");


        System.out.println();
        //遍历
        Set<Map.Entry<Integer,String>> entrySet2 = map.entrySet();
        for (Map.Entry<Integer, String> entry : entrySet2) {

            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + ":" + value);
        }

    }
}

 
 

大佬代码:

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(int i : map.keySet()) {
            System.out.println(i + ":" + map.get(i));
        }
         
        System.out.println();
         
        map.put(5,name); // 添加
        map.remove(4);  // 删除
        map.replace(3,"Tommy"); // 修改
         
        for(int i : map.keySet()) {
            System.out.println(i + ":" + map.get(i));
        }
    }
}
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值