【发布时间】:2015-06-24 13:31:57
【问题描述】:
我尝试将两个循环合并为一个 do 循环,但每次输入无效值时,它都不会提示我错误消息并要求再次输入该值。相反,它只是转到下一个提示语句。
do {
try {
dependents = Integer.parseInt(JOptionPane.showInputDialog("number of dependents:"));
}
catch (NumberFormatException e) {
dependents = MIN_DEPENDENTS - 1;
}
if (dependents < MIN_DEPENDENTS || dependents > MAX_DEPENDENTS) {
JOptionPane.showMessageDialog(null, "Number of dependents must be between 0 and 9.");
}
} while (dependents < MIN_DEPENDENTS || dependents > MAX_DEPENDENTS);
do {
try {
income = Double.parseDouble(JOptionPane.showInputDialog("amount of income:"));
}
catch (NumberFormatException e) {
income = MIN_INCOME - 1;
}
if (income < MIN_INCOME || income > MAX_INCOME) {
JOptionPane.showMessageDialog(null, "income must be between $0 and $999,999.");
}
} while (income < MIN_INCOME || income > MAX_INCOME);
【问题讨论】:
-
@WhyCry 依次是两个循环。
-
@BilltheLizard 我认为问题在于 OP 不想要 2 个循环,而是想要 1 个循环来完成这两个循环所做的一切。
-
我不会合并它们,因为据我所知它们会做不同的事情
-
我看到你在这些“循环”中所做的只是检查用户输入。这应该以完全其他方式完成。对于 JOptionPane,请参见此处:stackoverflow.com/questions/13055107/…
-
合并这些循环没有意义。
标签: java