如何从单个方法返回2个值

时间:2014-04-12 22:13:42

标签: java arrays methods indexing return

import java.util.Scanner;

public class fmax
{
public static void main(String[] args)
{
int max;
max = maxnum();
System.out.println("The max number is: " + max);
}

public static int maxnum()
{
int max = 0, element = 0;
Scanner keyboard = new Scanner(System.in);
int []fmax = new int[10];

  for(int i = 0; i < fmax.length; i++)
  {
  System.out.print("Enter number " + (i+1) + ":");
  fmax[i] = keyboard.nextInt();

     if(fmax[i] > max)
     {
     max = fmax[i];
     element = i; //the variable i want to be returned
     }

  }
  return max;
  }
}

好的,我能够在这个程序中返回一个最大值,但是,我想返回分配给我返回的最大值的元素/索引的值。我该怎么做?

2 个答案:

答案 0 :(得分:2)

返回两个值将其打包到某个对象并返回它;)

public class ReturnedObject{
    private Object val1;
    private Object val2;
    //getters setters
}

public ReturnedObject yourMethod(){
    ReturnedObject returnedObject = new ReturnedObject();
    returnedObject.setVal1("yourVal1");
    returnedObject.setVal2("yourVal2");

    return returnedObject;
}

答案 1 :(得分:0)

您可以将值传递给数组/对象。 (我不是说你可以返回一个数组)。如果你将数组作为参数之一传递给方法,那么数组的值应该保留。您可以从那里访问值。

注意:如果您发现自己需要使用一种方法返回多个值,则应考虑重新设计代码。