gpt4 book ai didi

java - 在输入 String 而不是 int 后热阻止程序崩溃

转载 作者:行者123 更新时间:2023-11-30 03:43:07 25 4
gpt4 key购买 nike

当输入字符串而不是整数时,如何阻止崩溃?这是我所拥有的。我尝试查找一些教程,但仍然无法弄清楚。谢谢你们的帮助。当输入字符串时,我需要它告诉用户输入 int

import java.util.Scanner;

public class TaxCalc
{
public static void main(String [] args)
{
Scanner keyboard = new Scanner(System.in);

int dependents = inputInt("Enter number of dependents: ", keyboard);

int pigs = inputInt("Enter number of pigs: ", keyboard);

double oinks= inputInt("Enter number of oinks: ", keyboard) -(pigs*500)+(200*dependents);

System.out.println("Oinks after rewards: " + oinks);

if(oinks<10000) oinks -= oinks*0.02; //2% tax
else if(oinks<5000) oinks -= oinks*0.1; //10% tax
else oinks -= oinks*0.2; //20% tax
System.out.println("Oinks after penalties: " + oinks);
}

public static int inputInt(String prompt, Scanner keyboard){
System.out.println(prompt);
return keyboard.nextInt();
}

public double inputDouble(String prompt, Scanner keyboard){
System.out.println(prompt);
return keyboard.nextDouble();
}
}

最佳答案

通过检查InputMismatchException,您可以通知用户他们输入了无效的输入,并且您可以要求他们仅重新输入数字。

public static int inputInt(String prompt, Scanner keyboard) {
System.out.print(prompt);
try{
return keyboard.nextInt();
} catch (InputMismatchException e){
System.out.println("Input Mismatch! Please enter Numbers");
keyboard.next();
return inputInt(prompt, keyboard);
}
}

双倍也一样

希望你能预料到这一点。如果没有,请评论您的要求。

关于java - 在输入 String 而不是 int 后热阻止程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26375630/

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