一个简单的随机点名器
作者:互联网
代码要求:
"随机点名器",用数组存储所有学生对象,输出所有学生对象 ,使用随机数得到随机索引,然后随机得到一个学生的名字。
代码分布:
1、创建一个数组,存储同学的姓名
2、键盘输入同学姓名,将输入的姓名一次赋值给数组的元素,
3、遍历数组,输出每个元素的值。
4、获取随机索引,通过该索引得到对应的姓名,
5、针对不同的功能将其封装到不同的方法中,然后通过main方法调用即可。
首先我们需要先创建一个存储学生的数组,再创建一个Scanner对象用于键盘录入,代码如下:
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入班级有几个学生:");
int number = sc1.nextInt();
// 1、创建一个数组,存储同学的姓名
String[] arr = new String[number];
//2、键盘输入同学姓名,将输入的姓名一次赋值给数组的元素,
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的名字");
arr[i] = sc.nextLine();
然后我们输出所有学生对象 ,代码如下:
//3、遍历数组,输出每个元素的值。
public static void Outputname(String[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println("第" + (i+ 1) + "个学生的名字为" + arr[i]);
}
}
之后我们再获取随机索引,这里调用Random方法,(这里多做了一点“输入1继续进行”,如果可以看懂,您也可以去掉,无碍)代码如下:
//4、获取随机索引,通过该索引得到对应的姓名,
public static void Random(int k, String[] arr) {
//输入1继续进行
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入”1“开始随机选人!");
int number = sc2.nextInt();
//判断是否为1
while (true) {
if (number != 1) {
System.out.println("你难道不想继续吗?请重新输入:");
number = sc2.nextInt();
}else{
//产生随机数 randomnumber
// k 表示其取值范围
//Random random = new Random();
//int randomnumber = random.nextInt(k) + 1;
int randomnumber = new Random().nextInt(k)+1;
System.out.println("你所随机选取学生姓名为 "+ arr[randomnumber-1]);
System.exit(0);
}
}
}
大致过程就是这些,我也是第一次做这个,做的不好还请见谅! 我真的尽力了。
最后完整代码奉上:
import java.util.Random;
import java.util.Scanner;
public class RandomName {
public static void main(String[] args) {
/* 随机点名器
5、针对不同的功能将其封装到不同的方法中,然后通过main方法调用即可。*/
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入班级有几个学生:");
int number = sc1.nextInt();
// 1、创建一个数组,存储同学的姓名
String[] arr = new String[number];
//2、键盘输入同学姓名,将输入的姓名一次赋值给数组的元素,
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的名字");
arr[i] = sc.nextLine();
}
Outputname(arr);
Random(number, arr);
}
//3、遍历数组,输出每个元素的值。
public static void Outputname(String[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.println("第" + (i+ 1) + "个学生的名字为" + arr[i]);
}
}
//4、获取随机索引,通过该索引得到对应的姓名,
public static void Random(int k, String[] arr) {
//输入1继续进行
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入”1“开始随机选人!");
int number = sc2.nextInt();
//判断是否为1
while (true) {
if (number != 1) {
System.out.println("你难道不想继续吗?请重新输入:");
number = sc2.nextInt();
}else{
//产生随机数 randomnumber
// k 表示其取值范围
//Random random = new Random();
//int randomnumber = random.nextInt(k) + 1;
int randomnumber = new Random().nextInt(k)+1;
System.out.println("你所随机选取学生姓名为 "+ arr[randomnumber-1]);
System.exit(0);
}
}
}
}
如果看不懂可以在评论区写上,或者私信都可以,保证复制后可以正常运行。(纯手工书写,具体我之前看了谁的我也不清楚了,如果和您的大致雷同,那大概就是我看了您的,如果妨碍您的利息,我会立马删除。)
作者留言:
在之前,我本是一个纯纯的白嫖党,奈何自己忘得太快,学习的知识远不及自己忘得,没办法,只能记录一下自己的程序猿生涯,刚接触大二,有很多的东西还未请教,还请观众老爷们轻点喷,如果鄙人做的不好的话,也是第一次在CSDN上发布尽心编辑的内容。可能不是那么好,我会慢慢改进的,谢谢!
标签:arr,点名,Scanner,int,System,随机,简单,println,new 来源: https://blog.csdn.net/qq_56095555/article/details/120561699