嗨,我正在尝试创建一个代码,让用户输入日期。然后,我将操纵该日期来创建每天的旅行成本。我正在努力添加异常以防止输入错误。谁能给我一些关于如何做到这一点的提示?我的代码:
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Price
{
public static void main (String [] args)
{
userInput();
}
public static void userInput()
{
Scanner scan = new Scanner(System.in);
int month, day, year;
System.out.println("Please enter a month MM: ");
month = scan.nextInt();
System.out.println("Please enter a day DD: ");
day = scan.nextInt();
System.out.println("Please enter a year YYYY: ");
year = scan.nextInt();
System.out.println("You chose: " + month + " /" + day + " /" + year);
}
}
最佳答案
隐藏方法内的异常处理...
public static int inputInteger(Scanner in, String msg, int min, int max) {
int tries = 0;
while (tries < maxTries) {
System.out.println(msg);
try {
int result = in.nextInt();
if (result < min || result > max) {
System.err.println("Input out of range:" + result);
continue;
}
return result;
} catch (Exception ex) {
System.err.println("Problem getting input: "+ ex.getMessage());
}
}
throw new Error("Max Retries reached, giving up");
}
这有点简单,但对于简单的应用程序来说这是一个很好的开始。相同类型的循环可以让您验证输入(例如,不要将 35 作为日期)
关于java - 在防止输入错误时使用异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15559356/