Java 数据验证-执行while循环
我在验证字符串输入时遇到问题。我想使用户不能输入无效字符串(仅“CIS 280”、“ACC 201”、“CIS 120”、“CIS 185”)。但是,我不知道如何使用字符串来完成它 我的问题是Java 数据验证-执行while循环,java,validation,loops,Java,Validation,Loops,我在验证字符串输入时遇到问题。我想使用户不能输入无效字符串(仅“CIS 280”、“ACC 201”、“CIS 120”、“CIS 185”)。但是,我不知道如何使用字符串来完成它 我的问题是 当我输入有效输入时,程序退出,不显示相应的时间 当我在第一个输入对话框中输入无效输入时,程序随后进入无限循环,即使我在以下位置输入有效字符串: invalid = JOptionPane.showInputDialog("Please enter a valid class."); 公共类数组测试{
invalid = JOptionPane.showInputDialog("Please enter a valid class.");
公共类数组测试{
公共静态void main(字符串[]args){
int i=0;
字符串类输入;
布尔有效=假;
字符串无效;
字符串[][]类名={
{“CIS 280”、“ACC 201”、“CIS 120”、“CIS 185”},
{“星期二5:00”,“星期一和星期三12:20”,“星期一和星期三10:10”,“星期一和星期三12:00”}
};
classInput=JOptionPane.showInputDialog(“请输入类名:”);
做{
对于(i=0;i
而不是
get users input
do{
validate input
if input is wrong ask again //btw here is your error,
//check where you are storing user's input
}while(input is wrong)
试一试
另一件事是迭代到行的末尾,这将使
i
等于行的length
。当您将找到正确的值时,您需要停止迭代,以便在您的应用程序中使用此i
JOptionPane.showMessageDialog(null, "The time of that class is: " + classNames[1][i]);
运行代码时会发生什么?它如何“不起作用”?
do{
get users input
validate input
}while(input is wrong)
JOptionPane.showMessageDialog(null, "The time of that class is: " + classNames[1][i]);