我如何防止用户重复输入(在此程序中使用 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;
}
所以我目前正在编写一个程序,基本上要求用户输入并根据该输出计算总课程量和费用。
不过,我有点卡住了。我应该防止用户多次输入相同的课程编号,但我似乎无法弄清楚。任何帮助,将不胜感激!
这是我的一小段代码:
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;
}