|--需求:在一个小班,所有人中,随机抽取一个人回答问题
|--实现思路:
1、将所有同学的名字录入一个数组
2、写一个生成随机整数的语句
3、让这个随机的整数充当名字所在数组的下标,并输出对应的名字
初始代码内容:
package Try;
import java.util.Scanner;
/**
* @auther::周小龙
* @Description: 随机一个人名
* @program: Xunhuan
* @create: 2019-07-03 14:59
*/
public class Random {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//定义数组,储存人名
//可轩 达烜 勐思 岚岚 曾涛 必成 笑天 林鹏 九湖 以期 小龙
String [] names = {"九湖","佳欣","可轩","达烜","勐思","岚岚","曾涛","必成","笑天","林鹏","以期","小龙","一楼祭天"};
System.out.println("请按0随机抽一名同学回答问题");
//设置一个接收键盘信息的变量
int key = sc.nextInt();
while (key == 0 ){
// System.out.println("*******开始随机点名********");
//设置一个0
int random = (int)(Math.random()*13-1);
for (int i = 0; i < names.length; i++) {
if (random == i){
System.out.println("请———"+names[i]+"———回答问题");
break;
}
}
// System.out.println("\n\n*******开始随机点名********");
System.out.println("\n\n请按0随机抽一名同学回答问题");
key = sc.nextInt();
}
}
}
|--改进代码内容
import java.util.Scanner;
/**
* @auther::周小龙
* @Description: 随机一个人名
* @program: Xunhuan
* @create: 2019-07-03 14:59
* @since: 7/4经过曾涛提醒,更新了一下
*/
public class Random1 {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
//定义数组,储存人名
//可轩 达烜 勐思 岚岚 曾涛 必成 笑天 林鹏 九湖 以期 小龙
String [] names = {"九湖","佳欣","可轩","达烜","勐思","岚岚","曾涛","必成","笑天","林鹏","以期","小龙","一楼祭天"};
System.out.println("请按0随机抽一名同学回答问题");
//设置一个接收键盘信息的变量
int key = sc.nextInt();
while (key == 0 ){
int random = (int)(Math.random()*13-1);
System.out.println(names[random]);
/*
以下内容于19/7/4注释掉
注释原因是经过曾涛的提醒,发现更省代码的写法
*/
System.out.println("*******开始随机点名********");
// //设置一个0
// int random = (int)(Math.random()*13-1);
// for (int i = 0; i < names.length; i++) {
// if (random == i){
// System.out.println("请———"+names[i]+"———回答问题");
// break;
// }
System.out.println("嗯,没有抽到,需要老师自己回答这个问题");
//
// }
// System.out.println("\n\n*******开始随机点名********");
System.out.println("\n\n请按0随机抽一名同学回答问题");
key = sc.nextInt();
}
}
}
|--运行结果