[Java][Map]基于Random的随机选景点前往练习

题目:
某个班级有80个学生,需要组成参加秋游活动
班长提供了四个景点(A,B,C,D)
每名学生只能选择一个景点 请统计出哪个景点想去的人数最多
逻辑:
1.80个学生,一个一个添加显然不现实,因此我们采取随机数生成学生的投票选择
2.景点和投票数需要产生关联,因此我想到Map(映射)的思想->将景点和投票数关联起来
3.直接遍历映射很麻烦->简化思路->转化为Set<集合>->利用Iterator(迭代器)遍历
使用到的API:
1.Random随机数
2.HashMap创建基于HashTable的映射
3.Map中的基础操作 .put替换机制 .get获取方法
4.for循环依次进行学生选择(80个)
5.巧妙利用switch来为不同学生的选择提供分支结果
6.Set集合与泛型的知识
import java.util.*;

public class Main{
    public static void main(String[] args){
        /*
        题目:
        某个班级有80个学生,需要组成参加秋游活动
        班长提供了四个景点(A,B,C,D)
        每名学生只能选择一个景点 请统计出哪个景点想去的人数最多
        逻辑:
        1.80个学生,一个一个添加显然不现实,因此我们采取随机数生成学生的投票选择
        2.景点和投票数需要产生关联,因此我想到Map(映射)的思想->将景点和投票数关联起来
        3.直接遍历映射很麻烦->简化思路->转化为Set<集合>->利用Iterator(迭代器)遍历
        使用到的API:
        1.Random随机数
        2.HashMap创建基于HashTable的映射
        3.Map中的基础操作 .put替换机制 .get获取方法
        4.for循环依次进行学生选择(80个)
        5.巧妙利用switch来为不同学生的选择提供分支结果
        6.Set集合与泛型的知识
         */
        //定义一个数组来储存四个景区
        String[] arr = {"A","B","C","D"};
        //利用随机数来进行80人的投票
        HashMap vote = new HashMap<>();
        vote.put("A",0);
        vote.put("B",0);
        vote.put("C",0);
        vote.put("D",0);
        Random r = new Random();
        int counta =0;
        int countb =0;
        int countc =0;
        int countd =0;
        for(int i=0;i<80;i++){
            int index = r.nextInt(arr.length);

            switch (index){
                case 0:{
                    counta++;
                    vote.put(arr[index],counta);
                    break;
                }
                case 1:{
                    countb++;
                    vote.put(arr[index],countb);
                    break;

                }
                case 2:{
                    countc++;
                    vote.put(arr[index],countc);
                    break;
                }
                case 3:{
                    countd++;
                    vote.put(arr[index],countd);
                    break;
                }

            }


        }
        Set key =vote.keySet();
        Iterator it = key.iterator();
        while(it.hasNext()){
            String park = it.next();
            Integer count = vote.get(park);
            System.out.println("去往"+park+"的投票人数为"+count);
        }
    }
}

你可能感兴趣的:(java,python,开发语言)