在一个小班,所有人中,随机抽取一个人回答问题,且不能重复提问同一个人

package Moth.JUL.JUL04;

import java.util.Scanner;

//有12个人,循环随机提问一个人,直到提问完所有人为止,要求不能重复提问到一个人
public class Random {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        String names[] = { "吖一", "吖二", "吖三", "吖四", "吖五", "吖六", "吖七", "吖八", "吖九", "吖十", "吖十一", "吖十二" };
        System.out.println("开始随机提问!");
        String st = ""; // 循环条件
        int index = -1; // 标识提问到这个人的下标
        do {
            // 用int类型的 num 来接收生成的随机数
            int num = (int) (Math.random() * 12 + 0);
            if (names[num] != null) {
                System.out.println("提问开始,请" + names[num] + "来回答问题!");
                // 提问完删除这个人
                index = num;
                names[index] = null;
                System.out.println("是否继续提问(n/y):");
                st = input.next();
                // 遍历数组元素,如果数组元素全为null 则boo的为false
                boolean boo = false;
                for (int i = 0; i < names.length; i++) {
                    if (names[i] != null) {
                        boo = true;
                    }
                }
                if (!boo) {
                    System.out.println("已经提问完所有人!");
                    break;
                }
            }
        } while ("y".equals(st));
        System.out.println("程序结束!");
    }
}

原文地址:https://www.cnblogs.com/zeng1997/p/11130303.html

时间: 2024-11-09 09:41:26

在一个小班,所有人中,随机抽取一个人回答问题,且不能重复提问同一个人的相关文章

shell脚本:随机抽取任意数量的学生且无重复

===================================================== 随机抽取学生终极版本!! #!/bin/bash touch ./temp read -p "输入抽取人数" Cwhile [ sort temp | uniq | wc -l != $C ] do echo expr $RANDOM % 15 >> temp done Z=$(sort temp | uniq)echo $Z jw=('居思涵' '李月' '李鑫'

老飞侠随机抽取器 v3.0 新春钜惠版

本软件永不收费,源代码向公众开放(鉴于它如此简单),诸位可以按需更改. 某飞侠作者这么一个VB6做的程序竟然还拿来收钱,还标榜[Rnd]函数,真的是.. 提示:使用老飞侠V3的抽名字功能需要在老飞侠程序目录下新建namelist.txt,把名字打进去哦! 这是个后门233 下载:老飞侠随机抽取器 - An optimized open-source randomize tool (using VB)

从数组中随机抽取一个值,(别人问我,我自己想到的一个方法)

今天本来在群里瞎扯淡的,突然看到有人问一个问题,大概意思是:怎么样从一个数组中随机抽取一个元素.当时我想到了PHP中有一个内置函数是打乱数组的顺序的.我就想用这个函数打乱一下,然后就抽取第一个元素. 代码如下: $array = array( 'das'=>array('id'=>1,'name'=>'于杭'), 'dasss'=>array('id'=>2,'name'=>'张三'), 'dass'=>array('id'=>3,'name'=>'李

PHP中如何在数组中随机抽取n个数据的值 - array_rand()?

PHP中如何在数组中随机抽取n个数据的值? 最佳答案 array_rand() 在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1.如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组.这样你就可以随机从数组中取出键名和值. 如下例所示: <?php $input = array("Neo", "Morp

Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现

Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssql 的实现 NEWID() 跟rand()  1 5. newid()与rand()的区别 2 6. NEWID() 2 7. 参考 2 1. 应用场景 并发测试 2. 随机抽取数据原理 原理是 循环所有的ID/记录,附加随机函数字段,然后排序as 这个字段.. 3. 常用的实现方法:::数据库随机

随机抽取数字的脚本

#!/bin/bash e=`date +%s` #随机抽取一个1-9内的一个数字 #/dev/urandom 是一个库函数 k=`cat /dev/urandom |tr -dc 1-9 |head -c 1` f=$(($e+$k)) while : do a=({1..9} 10 ) for i in {0..9} do b=${a[$i]} echo $b sleep 0.1 #实现自动停止 w=`date +%s` if [ $w -ge $f ];then exit 0 fi don

oracle随机抽取表中的n条记录

采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项. 注:从Oracle8i开始Oracle提供采样表扫描特性 2.使用sample获得随机结果集 2.1.语法: SAMPLE [ BLOCK ](sample_percent)[ SEED (seed_value) ] SAMPLE选项:表示按行采样来执行一个全表扫描,Oracle从表中读取特定百分比的记录,并判断是否满足WHERE子句

js实现从长度为100的数组中随机抽取5个不同值

方法一:这个是我的方法,望大家指正…… <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>从长度为100的数组中随机抽取5个不同值</title> </head> <body> <script> var arr = new Array(100); var flag_a =

MYSQL随机抽取查询 MySQL Order By Rand()效率问题

MYSQL随机抽取查询:MySQL Order By Rand()效率问题一直是开发人员的常见问题,俺们不是DBA,没有那么牛B,所只能慢慢研究咯,最近由于项目问题,需要大概研究了一下MYSQL的随机抽取实现方法 要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND