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集合进行数据统计,以及如何优化代码逻辑。