我有一个greetingLoop由main()中的switch case调用,如果它返回null,则会要求用户输入一次但不执行任何操作。我试图避免greetingLoop()返回null,但是一旦我将返回变量userInput放在if语句中,它就不被eclipse识别"这个方法必须返回一个int类型。&#34 ;
非常感谢任何提示,谢谢。
public static int greetingLoop(){
int userInput=0;
try{
System.out.println("Please enter the desired operation:");
System.out.println("1.Insert, 2.Delete, 3.Edit, 4.Show, 5.List, 6.Volume, 7.Exit\n");
userInput=Integer.parseInt(JOptionPane.showInputDialog("Please enter the desired
operation:"));
}
catch (NumberFormatException ne){
System.out.println("your input " + userInput + " is not valid. Please try again...\n");
}
if(userInput >= 1 && <= 7){
return userInput;
}
}
答案 0 :(得分:0)
这是因为在if条件谓词为false
在return userInput;
声明的}
之后添加if
无论如何,你不能在当前方法中返回null
,因为你的返回类型是原始int
并且总是会返回一个int值。
因此,在这种情况下,如果您在方法的最后一行添加return userInput;
,则会返回初始值0