当前位置: 首页 > 知识库问答 >
问题:

如何退出返回类型为int[]的函数?

廉元龙
2023-03-14

我在做一个数组右旋转的basic程序,对于基本条件,我想用return退出函数。但是,它会给出类型无效的错误。

有人能解释为什么会这样吗?

import java.util.*;

public class RightRotationArray{
 public int[] solution(int[] A, int K) {
   if (K < 0 || K >= A.length) {
         return; // error showing here.
     }

     for (int i = 0; i < K; i++) {
         int last = A[A.length - 1];
         for (int j = A.length - 2; j >= 0; j--) {
             A[j + 1] = A[j];
         }

     A[0] = last;
         
     }
     return A;
 }
}

共有1个答案

公孙鸿才
2023-03-14

可以(返回null)或(返回new int[]{}),但最好的方法是引发异常:

public int[] solution(int[] A, int K) throws IllegalArgumentException{
    if (K < 0 || K >= A.length) {
        throw new IllegalArgumentException("K is invalid");
    }

    for (int i = 0; i < K; i++) {
        int last = A[A.length - 1];
        System.arraycopy(A, 0, A, 1, A.length - 2 + 1);

        A[0] = last;
    }
    return A;
}
 类似资料:
  • 我得到了这个错误:这个表达式的类型是'void',所以它的值不能被使用。尝试检查是否使用了正确的API;可能会有一个函数或调用返回您意想不到的void。还要检查类型参数和变量,它们也可能是空的。 代码: null null 我不明白这是什么。我是新手。这是我的第一个应用程序。有人能帮我一下吗。

  • 如标题所述,我正在尝试从int类型的方法()返回多个整数。该方法旨在接受整数数组并确定模式。另一个问题是索引中的每个值的范围为1-3。我无法创建对象、其他方法来处理部分解决方案或导入任何帮助我的东西。 我遇到的问题是如果数组中有多个模式 即 如您所见,在本例中有两种模式,分别是2和3,我不知道如何从一个方法返回多个整数。 这是我教授的指示“ “编写方法int mode(int[]a)。此函数采用一

  • 我找到了一些很好的SO链接(如何从异步回调函数返回值?以及从node.js中的回调函数返回值等),但它们并不是不能为我的问题提供解决方案。 我的问题:能够得到异步调用的结果,但我如何使用这个结果返回我的函数? 这里获取callBackResponse的值为true或false,并希望将该值用作:

  • 我有一个任务,我们要创造一个石头,纸,剪刀的游戏。它指定我们必须创建一个抽象的“工具”类,其中有三个子类:“ToolRock”、“ToolPaper”、“ToolScissors”。抽象类应该有一个“+getFeagnet():tool”函数(用斜体写成)。 我的假设是做一个像这样的抽象函数: RockTool类被指定为具有函数“+get弱点():tool”(不是用斜体写的),我的想法是创建一个覆

  • 注意:请通读后再回答。这看起来是一个简单的问题,但我不确定它是否如此简单。另外,我是打字新手,所以对我宽容点 所以这是用例。我有一个模型用户,我编写了一个通用函数来根据数据库中的电子邮件检查用户是否存在。如果存在,则返回用户对象。 现在,如果它是任何其他对象,那么我可以定义类型并继续我的代码,但它是我从DB得到的用户对象,不知道如何解决这个问题。 我通过提到返回类型“any”找到了解决方法,但我的

  • 无法理解如何使用int类型的递归函数查找二叉查找树的高度的解释。 对于任何二元搜索树,给定一个指向树的根节点的指针,其中节点按常规定义如下。。。 我们可以使用以下int类型的递归函数来给出二元搜索树的高度。。。(函数“max”只取两个整数,并返回其中较大的一个) 我的理解是findHeight(根- 我对递归非常陌生,所以我决定只解压缩其中一个递归函数调用,并尝试理解它。我写了findHeight