其他分享
首页 > 其他分享> > 一个简单的随机点名器

一个简单的随机点名器

作者:互联网

代码要求:

          "随机点名器",用数组存储所有学生对象,输出所有学生对象 ,使用随机数得到随机索引,然后随机得到一个学生的名字。

代码分布:

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