栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学生点名代码实现,抽到后下次点名不会再点

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学生点名代码实现,抽到后下次点名不会再点

import java.util.Random;
import java.util.Scanner;

public class Day09_8 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            Random s = new Random();
            int b = 0;//计数器,记录点名次数
            String choise = "y";
            //声明学生姓名数组并初始化
            String[] stuNames = {"丫头", "妞妞", "秋天", "胡兵" };
            //声明学生标记数组
            boolean[] flags = new boolean[stuNames.length];
            for(;;) {
                
                //获取一个随机数
                int c = s.nextInt(stuNames.length);
                //忽略大小写做比较,如果不是y就退出循环
                if(!"y".equalsIgnoreCase(choise)){
                    break;
                }
                //判断该名同学是否已经被抽取,如果已经抽取进入下次循环
                if(flags[c]) {//为true,表示已经抽取
                    continue;//结束本轮循环,继续下一轮循环
                }
                //为false表示该同学没被抽取 打印输出
                System.out.println(stuNames[c]);
                //抽取完后 在标记数组相应位置进行标记为true
                flags[c] = true;
                b++;
                //判断计数器达到数组长度点名结束
                if(b == stuNames.length) {
                    break;
                }                
                //提示用户输入
                System.out.println("输入y立即进行下次点名,输入n退出点名");
                //用户输入
                choise = sc.nextLine();            
            }
            //当计时器达到数组长度时执行 所以学生点名已经点完
            if(b == stuNames.length){
                System.out.println("所以学生已经点完");
            }else {
                //当用户提前结束点名输出提示
                System.out.println("点名结束");
            }            
        }
    }
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/677505.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号