用java写一个简单的随机点名系统

用java写一个简单的随机点名系统

该系统总共有5个功能:

注:在你输入0退出系统之前,它会在1秒延时后继续显示菜单;延时时间以及初始化的学生姓名都可以自行修改

(在文末我会将这几个功能的运行截图展示出来)

用java写一个简单的随机点名系统_第1张图片

大概抽象出三个类:

MyUtils.java   工具类,主要写了对数组的增删打印等功能和生成随机数等方法。当然你也可以自己调用系统自己包里的方法。

StudentCrm.java   主类,主要是写对具体某学生的一些操作以及菜单的显示。

Student.java   学生类,学生的基本信息,也就是姓名咯。

import java.util.Random;

public class MyUtils {
    //向数组中增加一个元素
    public static String[] addArr(String[] arr, String num) {
        String[] temp = new String[arr.length + 1];
        for (int i = 0; i < arr.length; i++) {
            temp[i] = arr[i];
        }
        temp[arr.length] = num;
        return temp;
    }
    //向数组中删除一个元素
    public static String[] delArr(String[] arr, String str) {
        String[] a = new String[arr.length-1];
        for (int i = 0; i < arr.length-1; i++) {
            if (arr[i].equals(str)) {
                a[i] = arr[i+1];
            }else{
                a[i] = arr[i];
            }
        }
        return a;
    }
    //获取一个num以内的随机数
    public static int getRandom(int num){
        Random random = new Random();
        return random.nextInt(num);
    }
//    打印数组
    public static String printArrays(String[] arr) {
        String str = "[";// 字符串开头
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                str += arr[i] + "]";
            } else {
                str += arr[i] + ", ";
            }
        }
        return str;
    }
}
import java.util.Scanner;

public class StudentCrm {
    static boolean flag = false;//当flag为false的时候菜单显示不延时,反之延时
    public static void main(String[] args) throws InterruptedException {
        Student stu = new Student();
        String msg = "请输入您想执行的操作:";
        label:while(true){
            menu();//调用菜单方法,显示菜单
            Scanner scanner = new Scanner(System.in);
            System.out.print(msg);
            switch (scanner.nextInt()){
                case 0:
                    System.out.println("退出系统");
                    break label;
                case 1:
                    addStudent(stu);//增加学生
                    break;
                case 2:
                    delStudent(stu);//删除学生
                    break;
                case 3:
                    randStudent(stu);//随机打印一个学生
                    break ;
                case 4:
                    printAll(stu);//打印所有的学生
                    break ;
                default:
                    msg = "您输入有误,请重新输入:";
            }
        }
    }
    public static void addStudent(Student stu){
        System.out.print("请输入您想增加的学生姓名:");
        Scanner scanner = new Scanner(System.in);
        String[] arr = MyUtils.addArr(stu.getName() ,scanner.next());
        stu.setName(arr);
        if(arr != null){
            System.out.println("学生添加成功!");
        }else {
            System.out.println("学生添加失败!");
        }
    }
    public static void delStudent(Student stu){
        System.out.print("请输入您想删除的学生姓名:");
        Scanner scanner = new Scanner(System.in);
        String[] arr = MyUtils.delArr(stu.getName(),scanner.next());
        stu.setName(arr);
        if(arr != null){
            System.out.println("学生删除成功!");
        }else {
            System.out.println("学生删除失败!");
        }
    }
    public static void randStudent(Student stu){
        int i = MyUtils.getRandom(stu.getName().length);
        System.out.println("随机到的同学为:"+stu.getName()[i]);
    }
    public static void printAll(Student stu){
        System.out.println("全部学生为:\n"+MyUtils.printArrays(stu.getName()));
    }
    public static void menu() throws InterruptedException {
        if(flag){
            Thread.sleep(1000);//当不是第一次显示菜单时,延时1秒钟
        }
        flag = true;
        System.out.println("*********菜单**********");
        System.out.println("(请输入对应功能前的序号)");
        System.out.println("\t0.退出系统");
        System.out.println("\t1.增加学生");
        System.out.println("\t2.删除学生");
        System.out.println("\t3.随机点名");
        System.out.println("\t4.打印全部同学姓名");
        System.out.println("***********************");
    }
}
public class Student {
    private String[] name = {"同学1","同学2","同学3","同学4","同学5","同学6","同学7","同学8","同学9",
            "同学10","同学11","同学12","同学13","同学14"};

    public String[] getName() {
        return name;
    }

    public void setName(String[] name) {
        this.name = name;
    }
}

运行截图:

用java写一个简单的随机点名系统_第2张图片

用java写一个简单的随机点名系统_第3张图片

用java写一个简单的随机点名系统_第4张图片

用java写一个简单的随机点名系统_第5张图片

用java写一个简单的随机点名系统_第6张图片

用java写一个简单的随机点名系统_第7张图片

 

 

你可能感兴趣的:(随笔)