我应该使用什么作为退货声明?

时间:2013-10-02 01:21:49

标签: java

我正在创建一个名为swapElements()的方法。它需要一个整数数组和两个整数索引。该方法应该使用指定的索引交换数组元素的值。

public class{
  int swapElements(int[] number, int value1, int value2){
        int temp = number[value1];
        number[value1] = number[value2];
        number[value2] = temp;
    }
}

4 个答案:

答案 0 :(得分:3)

正如您所介绍的那样,此方法不需要返回任何内容,并且可能应该声明为void。但是,如果存在需要履行的特定合同,则应返回接口定义应返回的任何内容。

答案 1 :(得分:2)

您的代码有四个问题。

  1. 您要问的问题是:使用return number;,因为您想要使用交换元素返回数组。
  2. 让方法返回int[](例如int[] swapElements),而不是int
  3. 你的班级没有名字。您需要添加名称,例如public class IntArraySwapper { ...
  4. 您的方法应为static。如果不使用该关键字,则必须在new IntArraySwapper().swapElements(...)之类的实例上调用它。由于此方法与类实例无关,因此只需将其设置为静态(static int[] swapElements),以便可以像IntArraySwapper.swapElements(...)一样调用它。
  5. 请注意,该方法还会修改原始数组,因此从技术上讲,您不需要 来返回任何内容。如果您愿意,可以将其设为void方法并使用旧数组。

答案 2 :(得分:2)

你可以让它返回无效。 或者可能是一个布尔值来表示发生了锯,没有错误。 比如索引超出范围错误。

答案 3 :(得分:0)

在这种情况下,return类型不是严格要求的。所以,你应该返回void。但是如果你确实想要返回一些东西,可以考虑返回boolean来指定交换是否发生。更确切地说,您可以将交换代码包含到try catch块中,如果交换发生时没有任何错误,则返回True,否则返回False