任务: 用可以接受扫描仪对象作为输入的方法编写程序。提示用户输入三个单独的字符串输入值(例如,红色,蓝色和绿色)。使用Try..Catch错误处理。该方法应打印用户输入的内容,并根据try..catch错误处理的程序流,将字符串值返回到指示“成功”或“失败”的调用方法。打印返回消息。从主程序调用该方法以演示其功能。
我无法使Catch在程序上工作,并且无法创建返回方法来确定程序是成功还是失败。主要问题是我无法完全理解如何在程序中同时实现它们。我曾尝试在Main之前和之后创建Return方法,但是如果程序成功,我将无法提出逻辑语句来返回并打印“ Success”,如果程序失败,则将无法打印“ Failure”。我也尝试过在try和catch值中包含“ if”语句,以防止数字输入,并且Catch应该提供正确的响应,但是Catch无法执行。它只会处理try块中的if语句。请告知,我们将非常感谢您的协助。
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String input1 = "";
String input2 = "";
String input3 = "";
String s;
s = Success(input1, input2, input3);
System.out.println(s);
try {
System.out.println("Enter your top three favorite Meal: ");
input1 = scnr.next();
input2 = scnr.next();
input3 = scnr.next();
scnr.close();
}
catch (InputMismatchException ex) {
System.out.println("Fail");
}
if (!input1.matches("[a-zA-Z,]+")) {
System.out.println("Failure");
System.out.println("You entered and invalid input! Please try again."); }
if (input1.matches("[a-zA-Z,]+")) {
System.out.println("Success");
System.out.println("Your top three favorite Meals are: " + input1 + ", " + input2 + ", " + "and " + input3 + "!"); }
}
private static String Success(String input1, String input2, String input3) {
String name;
name = input1 + input2 + input3;
return name;
}
}