Java实验——利用HashMap存储关键字统计信息

本文介绍了如何利用Java面向对象技术,特别是类的继承、接口设计和多态,通过HashMap实现一个关键字统计程序。程序可以动态统计用户输入的关键字及其出现次数,展示了设计模式在实际编程中的应用。
摘要由CSDN通过智能技术生成

一、目的(本次实验所涉及并要求掌握的知识点)

掌握类的继承复用技术。
掌握接口设计技术。
理解多态技术。
理解常用的设计模式
初步能进行Java面向对象的综合设计

二、题目:

设计一个关键字统计程序:利用HashMap存储关键字统计信息,对用户输入的关键字进行个数统计。

a、设计思路:

        首先,创建了一个HashMap对象keywordCount,用于存储关键字及其出现的次数。然后,使用Scanner对象获取用户的输入,如果用户输入的关键字已经存在于HashMap中,就将其对应的值加一;如果不存在,就将其添加到HashMap中,并设置其值为1。最后,使用for-each循环遍历HashMap,打印出每个关键字及其出现的次数。

b、主要代码结构:

  1. HashMap对象keywordCount:用于存储关键字及其出现的次数。
  2. Scanner对象:用于获取用户的输入。
  3. while循环:用于不断获取用户的输入,直到用户输入"exit"为止。
  4. if-else语句:用于判断用户输入的关键字是否已经存在于HashMap中,并进行相应的操作。
  5. for-each循环:用于遍历HashMap,打印出每个关键字及其出现的次数。

c、主要代码段的文字分析:

在while循环中,首先获取用户的输入,如果用户输入的是"exit",就跳出循环;否则,就判断用户输入的关键字是否已经存在于HashMap中,如果存在,就将其对应的值加一;如果不存在,就将其添加到HashMap中,并设置其值为1。这种方式使得我们可以方便地统计用户输入的关键字的个数,而且由于使用了HashMap,我们还可以快速地查找到任意一个关键字及其出现的次数。这就是HashMap的强大之处。

d、输出结果截图:

图2-4

附录代码:

import java.util.HashMap;
import java.util.Scanner;

public class KeywordCounter {
    public static void main(String[] args) {
        HashMap<String, Integer> keywordCount = new HashMap<>();
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入关键字,输入'exit'结束:");
        while (true) {
            String input = scanner.nextLine();
            if (input.equalsIgnoreCase("exit")) {
                break;
            }

            if (keywordCount.containsKey(input)) {
                keywordCount.put(input, keywordCount.get(input) + 1);
            } else {
                keywordCount.put(input, 1);
            }
        }

        System.out.println("关键字统计结果:");
        for (String keyword : keywordCount.keySet()) {
            System.out.println("关键字 '" + keyword + "' 出现了 " + keywordCount.get(keyword) + " 次");
        }
    }
}
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值