gpt4 book ai didi

java - 在防止输入错误时使用异常

转载 作者:行者123 更新时间:2023-12-01 14:44:39 24 4
gpt4 key购买 nike

嗨,我正在尝试创建一个代码,让用户输入日期。然后,我将操纵该日期来创建每天的旅行成本。我正在努力添加异常以防止输入错误。谁能给我一些关于如何做到这一点的提示?我的代码:

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/

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