Methods 退出非无效方法?(爪哇)

Methods 退出非无效方法?(爪哇),methods,exit,Methods,Exit,我想知道你会如何提前退出一种方法。如果这是一个void类型,我只需要执行“return”,但是由于这是一个int类型,它希望我返回一个整数。如何返回main而不返回任何整数。谢谢 public static int binarysearch(String[] myArray, String target, int first, int last) { int index; if (first > last) { index = -1;

我想知道你会如何提前退出一种方法。如果这是一个void类型,我只需要执行“return”,但是由于这是一个int类型,它希望我返回一个整数。如何返回main而不返回任何整数。谢谢

public static int binarysearch(String[] myArray, String target, int first, int last)
{
    int index;

    if  (first > last)
    {
        index = -1;
        System.out.println("That is not in the array");
        // Return to main here
    }

在传统意义上,如果没有返回值,就无法从方法返回


您可以
返回-1
并在文档中声明
-1
表示搜索失败,或者您可以抛出一个错误。但是,如果抛出异常,则需要捕获它。您可以在链接文章中了解更多信息。

传统意义上,如果没有返回值,您无法从方法返回

您可以
返回-1
并在文档中声明
-1
表示搜索失败,或者您可以抛出一个错误。但是,如果抛出异常,则需要捕获它。您可以在链接文章中了解更多信息。

有几个选项。。。。 1.打破 2.返回一个您知道不会从有效结果返回的值。例如99999999或-34

这些都是简单的选择

编辑 当然,break只会退出循环。因此,您仍然需要返回一个已知值。

有几个选项。。。。 1.打破 2.返回一个您知道不会从有效结果返回的值。例如99999999或-34

这些都是简单的选择

编辑
当然,break只会退出循环。因此,您仍然需要返回一个已知值。

只有两种方法可以退出此方法,要么返回整数,要么抛出异常。这是异常情况吗?也就是说,您的方法在其契约中是否有第一个必须是的?只有两种方法可以退出此方法,要么返回整数,要么抛出异常。这是异常情况吗?也就是说,您的方法是否在其契约中包含了第一个必须打破的
break将不会退出该方法。它用于退出循环。True。我的意思是它可以用来跳出并返回给定的已知值。无可否认,解释得不是很好。
break将不会退出该方法。它用于退出循环。True。我的意思是它可以用来跳出并返回给定的已知值。诚然,解释得不是很好…除非您抛出的异常是RuntimeExceptionThat's true,但这是一个在编译时可以预期的错误,所以它不应该是RuntimeException…除非您抛出的异常是RuntimeExceptionThat's true,但这是一个在编译时可以预期的错误,所以它不应该是RuntimeException。