Java 如何在不给出所需返回的情况下停止在方法中运行的代码
我试图运行一些代码来检查输入是否为整数。此方法从main调用,并尝试将输入转换为整数。如果失败,它将打印一条错误消息,然后我希望代码停止。调用的方法如下所示: 尝试编译时,会出现以下错误: 缺少返回语句} 你知道怎么做吗Java 如何在不给出所需返回的情况下停止在方法中运行的代码,java,Java,我试图运行一些代码来检查输入是否为整数。此方法从main调用,并尝试将输入转换为整数。如果失败,它将打印一条错误消息,然后我希望代码停止。调用的方法如下所示: 尝试编译时,会出现以下错误: 缺少返回语句} 你知道怎么做吗 public static int checkCharactersPerLineInput(String inputNumber){ try{ int length = Integer.parseInt(inputNumber); ret
public static int checkCharactersPerLineInput(String inputNumber){
try{
int length = Integer.parseInt(inputNumber);
return length;
}
catch (Exception e) {
System.out.println("Error with input... Not an integer please
try again.");
System.exit();
}
}
公共静态整型校验字符PerlineInputString inputNumber{
所有函数和方法都必须返回一个方法没有返回的值,因此它给出了一个错误,除非它是void或构造函数
或者
在checkCharactersPerLineInput方法中添加returnsomeInteger语句
B用void替换int。返回值的方法的要点是它们返回值,因此,无论在哪里实现方法,都需要一个适当的整数。 解决这个问题的一种方法可能是将returnnull;放入catch部分,并且无论在哪里调用方法,都需要首先检查
if (checkCharactersPerLineInput(str)!=null){
//your code
}
如果您只对字符串的数字感兴趣,还可以将int-length=Integer.parseIntinputNumber;替换为int-length=Integer.parseIntinputNumber.replaceAll[^1234567890],;将删除字符串中非数字的所有字符。然后,您还可以从代码中删除try和catch短语。任何未声明为void的方法都必须包含带有相应返回值的return语句,如下所示: 返回值 因为你的方法有一个返回类型“int”,所以你需要一个整数返回值。如果你不想返回任何东西,就使用void
您可能想了解更多信息。如果失败,您可以使用返回空值的技巧。但是您必须将返回类型更改为java.lang.Integer将int替换为void,或者根据需要返回任何值。抛出异常。这就是它们的用途。不要捕获这样的一般异常。parseInt抛出你知道“退出”会终止整个程序,对吧?放弃第一次输入错误是非常苛刻的,尤其是你告诉他“再试一次”。构造函数确实会返回一个值。不,我相信他们不会。