2条回答 默认 最新
- honvin_ 2021-09-24 01:49关注
写了个简单的例子,参考一下
import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.Scanner; public class RandomRollCall { public static void main(String[] args) { // 初始化学生 List<Student> list = new ArrayList<>(); list.add(new Student(0, "同学0")); list.add(new Student(1, "同学1")); list.add(new Student(2, "同学2")); list.add(new Student(3, "同学3")); list.add(new Student(4, "同学4")); // 学生总数 int listSize = list.size(); // 已点名数 int count = 0; // 文本扫描器 Scanner scan = new Scanner(System.in); // 随机数生成器 Random random = new Random(); System.out.print("是否开始点名:"); while (scan.hasNext()) { // 输入的字符(yes、no) String scanStr = scan.nextLine(); if ("yes".equals(scanStr)) { // 根据还未点名的总人数生成随机数 int index = random.nextInt(list.size()); // 累计已点数 count++; System.out.println(String.format("学号:%s\t,姓名:%s", list.get(index).getId(), list.get(index).getName())); System.out.println(String.format("共:%d,\t已点:%d,\t,未点:%d", listSize, count, listSize - count)); // 避免重复点名,把已点的学生从集合删除 list.remove(index); if (list.size() <= 0) { break; } } else if ("no".equals(scanStr)) { break; } else { System.out.print("输入错误,请重新输入:"); continue; } System.out.print("是否继续点名:"); } System.out.println("点名结束"); scan.close(); } } class Student { private int id; private String name; public Student(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本