我正在编写一个程序,计算一个人多年后的投资。我提示用户输入他们的姓名、他们将投资的金额、利率和年数。我应该使用 if...else 语句对输入进行验证。其中一项检查是查看用户是否输入了正确的数据类型。这是一个介绍 java 类。我们一周前完成了关于方法的章节,所以这是初学者的东西。我似乎可以弄清楚如何进行数据类型检查。我为我的 int 类型尝试了 hasNextInt,但我得到了一个我们根本没有学到的异常。我在网上找到了一些关于 Pattern 和 Match 类的信息,但是里面有很多我们还没有看到的东西。这是我为获得正确输入而编写的方法之一。
//Define method for input validation, integer type
public static int getValidInt(String messagePrompt, String messagePrompt2, String messagePrompt3){
Scanner input = new Scanner(System.in);//Create scanner
int returnValue;
int j = 0;
do {//Start validation loop
System.out.printf(messagePrompt); //Print input request
returnValue = input.nextInt();
if (returnValue <= 0) { //Check if user entered a positive number
System.out.println(messagePrompt2);//Print error message
}
else if (!input.hasNextInt()) {
System.out.println(messagePrompt3);//Print error message
}
else {
j++;
}
} while (j == 0);//End validation loop
return returnValue;
}
我不确定我的支票顺序是否正确。欢迎任何帮助。谢谢你。