如何从单个方法返回2个值 import java.util.Scanner; 公共类fmax { 公共静态void main(字符串[]args) { int max; max=maxnum(); System.out.println(“最大值为:“+max”); } 公共静态int maxnum() { int max=0,元素=0; 扫描仪键盘=新扫描仪(System.in); int[]fmax=新的int[10]; 对于(int i=0;imax) { max=fmax[i]; element=i;//要返回的变量 } } 返回最大值; } }

如何从单个方法返回2个值 import java.util.Scanner; 公共类fmax { 公共静态void main(字符串[]args) { int max; max=maxnum(); System.out.println(“最大值为:“+max”); } 公共静态int maxnum() { int max=0,元素=0; 扫描仪键盘=新扫描仪(System.in); int[]fmax=新的int[10]; 对于(int i=0;imax) { max=fmax[i]; element=i;//要返回的变量 } } 返回最大值; } },java,arrays,methods,indexing,return,Java,Arrays,Methods,Indexing,Return,好的,我可以在这个程序中返回一个最大值,但是,我想返回分配给我返回的最大值的元素/索引的值。我该怎么做呢?要返回两个值,请将其打包到某个对象中并返回;) 可以将值传递到数组/对象中。(我并不是说可以返回数组)。如果将数组作为参数之一传递到方法中,数组的值将保持不变。您可以从那里访问这些值 注释< /强>:如果你发现你需要使用一种方法返回一个以上的值,你应该考虑重新设计你的代码。有很多方法。您可以使用int[],POJO类,仅包含两个字段,串联字符串,集合对象等等。还可以检查: import j

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

要返回两个值,请将其打包到某个对象中并返回;)


可以将值传递到数组/对象中。(我并不是说可以返回数组)。如果将数组作为参数之一传递到方法中,数组的值将保持不变。您可以从那里访问这些值


<强>注释< /强>:如果你发现你需要使用一种方法返回一个以上的值,你应该考虑重新设计你的代码。

有很多方法。您可以使用
int[]
POJO类,仅包含两个字段
串联字符串
集合对象等等。还可以检查:
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;
  }
}
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;
}