当前位置: 首页 > news >正文

Java-基础-统计投票信息

目录

案例要求:

​编辑

实现思路:

代码:

总结:


案例要求:

实现思路:

先使用String数组创建四个景点元素,然后使用String数组创建80个学生元素(存储的是想要去的景点名(使用随机数生成)),然后创建Map<String,Integer> 集合接收景点及其想要取得数量

然后遍历存储到map集合中,最后遍历输出即可

代码:

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;//TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args)  {String[] name={"A","B","C","D"};String[] choices=new String[80];for (int i = 0; i < 80; i++) {choices[i]=name[new Random().nextInt(4)];}Map<String,Integer> map=new HashMap<>();for(int i=0;i<80;i++){if(map.containsKey(choices[i])){map.put(choices[i],map.get(choices[i])+1);}else{map.put(choices[i],1);}}for (int i = 0; i < map.size(); i++) {//细节,char转Stringchar x=(char)('A'+i);String key=x+"";System.out.println("去"+x+"景点的有"+map.get( key)+"人");}}
}

其中map累计的代码可以替换成如下方法

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;//TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args)  {String[] name={"A","B","C","D"};String[] choices=new String[80];for (int i = 0; i < 80; i++) {choices[i]=name[new Random().nextInt(4)];}Map<String,Integer> map=new HashMap<>();for(int i=0;i<80;i++){map.put(choices[i],map.getOrDefault(choices[i],0)+1);}for (int i = 0; i < map.size(); i++) {char x=(char)('A'+i);String key=x+"";System.out.println("去"+x+"景点的有"+map.get( key)+"人");}}
}


总结:

本文展示了一个统计学生景点选择的Java程序。首先创建4个景点和80个随机选择景点的学生数据,然后使用Map集合统计每个景点的选择人数。提供了两种实现方式:一种使用containsKey判断,另一种更简洁地使用getOrDefault方法。程序最终输出每个景点的选择人数统计结果。该案例演示了如何使用Map集合进行数据统计,以及如何优化代码逻辑。

http://www.dtcms.com/a/314321.html

相关文章:

  • Linux下载安装mysql,客户端(Navicat)连接Linux中的mysql
  • allegro建库--1
  • 【Redis】移动设备离线通知推送全流程实现:系统推送服务与Redis的协同应用
  • 模型学习系列之考试
  • 机器学习(8):线性回归
  • 基于落霞归雁思维框架的自动化测试实践与探索
  • OpenLayers 入门指南【五】:Map 容器
  • Unity发布Android平台实现网页打开应用并传参
  • 如何查看 iOS 电池与电耗:入门指南与实战工具推荐
  • 期权投资盈利之道书籍推荐
  • Codeforces Round 1008 (Div. 2)
  • Chrontel【CH7214C-BF】CH7214C USB Type C Logic Controller
  • 【Java线程池深入解析:从入门到精通】
  • Memcached 缓存详解及常见问题解决方案
  • 【深度学习新浪潮】近三年城市级数字孪生的研究进展一览
  • 【音视频】WebRTC 一对一通话-实现概述
  • 使用vue缓存机制 缓存整个项目的时候 静态的一些操作也变的很卡,解决办法~超快超简单~
  • 深入剖析RT-Thread串口驱动:基于STM32H750的FinSH Shell全链路Trace分析与实战解密(上)
  • Back to the Features:附录C Unconditional world model evaluations
  • 第四十一节 MATLAB GNU Octave教程
  • 第四十五章:AI模型的“灵魂契约”:GGUF权重到PyTorch结构极致适配
  • Nginx vs Spring Cloud Gateway:限流功能深度对比与实践指南
  • 政策合规性网页设计:工业数据可视化的信息安全技术规范解析
  • 基于机器学习的二手房信息可视化及价格预测系统设计与实现
  • 车载通信架构 ---车内通信的汽车网络安全
  • [spring-cloud: @LoadBalanced @LoadBalancerClient]-源码分析
  • bypass
  • Azure DevOps - 使用 Ansible 轻松配置 Azure DevOps 代理 - 第6部分
  • vim 组件 使用pysocket进行sock连接
  • ArcGIS的字段计算器生成随机数