Java萌新 求大手子指点一题 给哥哥们磕头了

img

写了个简单的例子,参考一下


import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

public class RandomRollCall {
    public static void main(String[] args) {
        // 初始化学生
        List<Student> list = new ArrayList<>();
        list.add(new Student(0, "同学0"));
        list.add(new Student(1, "同学1"));
        list.add(new Student(2, "同学2"));
        list.add(new Student(3, "同学3"));
        list.add(new Student(4, "同学4"));

        // 学生总数
        int listSize = list.size();
        // 已点名数
        int count = 0;

        // 文本扫描器
        Scanner scan = new Scanner(System.in);
        // 随机数生成器
        Random random = new Random();

        System.out.print("是否开始点名:");
        while (scan.hasNext()) {
            // 输入的字符(yes、no)
            String scanStr = scan.nextLine();
            if ("yes".equals(scanStr)) {
                // 根据还未点名的总人数生成随机数
                int index = random.nextInt(list.size());
                // 累计已点数
                count++;
                System.out.println(String.format("学号:%s\t,姓名:%s", list.get(index).getId(), list.get(index).getName()));
                System.out.println(String.format("共:%d,\t已点:%d,\t,未点:%d", listSize, count, listSize - count));
                // 避免重复点名,把已点的学生从集合删除
                list.remove(index);

                if (list.size() <= 0) {
                    break;
                }
            } else if ("no".equals(scanStr)) {
                break;
            } else {
                System.out.print("输入错误,请重新输入:");
                continue;
            }
            System.out.print("是否继续点名:");
        }
        System.out.println("点名结束");
        scan.close();
    }
}

class Student {
    private int id;
    private String name;

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

img

用java.util.Scanner来实现接受键盘输入的功能,再用判断语句进行判断