我如何防止用户重复输入(在此程序中使用 JOptionPane 和 if 语句)

How would i prevent a user from duplicate entries (Using JOptionPane and if statements in this program)

所以我目前正在编写一个程序,基本上要求用户输入并根据该输出计算总课程量和费用。

不过,我有点卡住了。我应该防止用户多次输入相同的课程编号,但我似乎无法弄清楚。任何帮助,将不胜感激!

这是我的一小段代码:

        while (option == JOptionPane.YES_OPTION) {
        if (!(typeOfStudent.equals("Online") || typeOfStudent.equals("On campus"))) {
            JOptionPane.showMessageDialog(null, "Enter either 'Online' or 'On campus'");
            System.exit(0);
        }
            courseNumber = JOptionPane.showInputDialog("Enter the Course Number for the class you are taking(100/150/250/300): " + "\n");
            courseNum = Integer.parseInt(courseNumber);

       if (!(courseNum == 100 || courseNum == 150 || courseNum == 250 || courseNum == 300)) {
            JOptionPane.showMessageDialog(null, "Enter a valid course number (100/150/250/300)");
            System.exit(0);
        }
        if (courseNum == 100 && (typeOfStudent.equals("Online"))) {
            totalNumCredits += credits100;
            totalStudentFee += onlineStudentFee100;

        }

维护用户已选择的课程列表:

List<Integer> courses = new ArrayList<>();

然后修改您当前的代码以检查课程是否已被选择。

if (!(courseNum == 100 || courseNum == 150 || courseNum == 250 || courseNum == 300)) {
            JOptionPane.showMessageDialog(null, "Enter a valid course number (100/150/250/300)");
            System.exit(0);
        }
        if(courses.contains(courseNum) {
            JOptionPane.showMessageDialog(null, "It is an already selected course number");
            return;
        }
        courses.add(courseNum);
        if (courseNum == 100 && (typeOfStudent.equals("Online"))) {
            totalNumCredits += credits100;
            totalStudentFee += onlineStudentFee100;

        }