Java 如何在不给出所需返回的情况下停止在方法中运行的代码

Java 如何在不给出所需返回的情况下停止在方法中运行的代码,java,Java,我试图运行一些代码来检查输入是否为整数。此方法从main调用,并尝试将输入转换为整数。如果失败,它将打印一条错误消息,然后我希望代码停止。调用的方法如下所示: 尝试编译时,会出现以下错误: 缺少返回语句} 你知道怎么做吗 public static int checkCharactersPerLineInput(String inputNumber){ try{ int length = Integer.parseInt(inputNumber); ret

我试图运行一些代码来检查输入是否为整数。此方法从main调用,并尝试将输入转换为整数。如果失败,它将打印一条错误消息,然后我希望代码停止。调用的方法如下所示:

尝试编译时,会出现以下错误:

缺少返回语句}

你知道怎么做吗

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抛出你知道“退出”会终止整个程序,对吧?放弃第一次输入错误是非常苛刻的,尤其是你告诉他“再试一次”。构造函数确实会返回一个值。不,我相信他们不会。