gpt4 book ai didi

java - IF 语句在 for 循环中不能很好地工作

转载 作者:行者123 更新时间:2023-12-01 22:59:52 25 4
gpt4 key购买 nike

在下面的代码中,我想让用户在搜索框中输入可用的学生 ID 之一,然后如果学生 ID 有效,将出现一个简单的消息框,其中包含可用的学生 ID。

情况 1:当我在搜索框中输入 212 时效果很好。

情况2:当我输入215或219或214(不是212)时,它会跳转到“未找到”消息框,再尝试两次后,我会收到一个包含已找到学生ID的消息框。

问题为什么我第一次输入215或219或214时找不到消息框,但输入212时却可以正常工作?这个 for 循环或 IF 语句有什么问题?为什么当我输入215时,它会忽略第一次和第二次然后显示找到的消息框?

import javax.swing.*;
static int[] studentID = {212,214,215,219};

public static void main(String[] args) {
search();

System.exit(0);

}

public static void search(){
for(int i = 0;i < studentID.length;i++){
search = JOptionPane.showInputDialog(null,"Enter a student ID");
if(studentID[i] == Integer.parseInt(search)){
JOptionPane.showMessageDialog(null, studentID[i]);
break;
}else{
JOptionPane.showMessageDialog(null,"NOT FOUND!!!");
}
}
}

最佳答案

循环应该在读取输入之后,并且“NOT FOUND”消息应该在循环之后:

public static void search(){
search = JOptionPane.showInputDialog(null,"Enter a student ID");
for(int i = 0;i < studentID.length;i++){
if(studentID[i] == Integer.parseInt(search)){
JOptionPane.showMessageDialog(null, studentID[i]);
return;
}
}
OptionPane.showMessageDialog(null,"NOT FOUND!!!");
}

如果要执行多次搜索,则应多次调用 search() 方法。

关于java - IF 语句在 for 循环中不能很好地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58426508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com