我正在尝试从用户那里获取4到10之间的整数.如果他们回答超出此范围,它将进入循环.当用户第一次正确输入数字时,它不会中断并继续执行else语句.如果用户在else语句中正确输入了该数字,它将正确中断.
如果第一次输入正确,如何使它断开?
**我是Java的初学者,如果我在这里想念这很愚蠢,请向我道歉.
public int companySize() {
int ansCompany;
do {
ansCompany = Integer.parseInt(JOptionPane.showInputDialog
("Please input the company size"));
if ( ansCompany <= 4 && ansCompany <= 10 ) {
break;
} else {
ansCompany = Integer.parseInt(JOptionPane.showInputDialog
("Please enter a valid company size"));
if ( ansCompany <= 4 && ansCompany <= 10 ) {
break;
} // ends nested if condition
} //ends else
}//ends do
while ( ansCompany < 4 || ansCompany > 10);
return ansCompany;
}// ends public int companySize()
我从主要称呼它如下:
public static void main(String[] args) {
UserInput getResult = new UserInput();
int company_size = getResult.companySize();
}// ends main
解决方法:
如果用户第一次输入错误的值,我不确定为什么需要两个相同的对话框,因为最后只会返回一个值(ansCompany).
通过将do-while语句设置为中断条件(小于4或大于10),它将循环播放,直到用户输入正确的数字为止.
public int companySize() {
int ansCompany;
do {
ansCompany = Integer.parseInt(JOptionPane.showInputDialog
("Please input the company size"));
} while (ansCompany < 4 || ansCompany > 10);
return ansCompany;
}