Java 查找二维数组中的最大索引数

Java 查找二维数组中的最大索引数,java,arrays,2d,max,minimum,Java,Arrays,2d,Max,Minimum,因此,我尝试提出这个方法,它将显示2D数组中最大数的索引。我可以在单个D阵列上执行此操作,但在2D阵列上执行此操作时遇到问题 public static int findMaximumValue(int[ ][ ] a) { int maxVal = a [0][0]; int i = 0; for(i = 0; i < a.length; i++) { for(int j = 0; j < a[0].length; j++) {

因此,我尝试提出这个方法,它将显示2D数组中最大数的索引。我可以在单个D阵列上执行此操作,但在2D阵列上执行此操作时遇到问题

public static int findMaximumValue(int[ ][ ] a)
{
   int maxVal = a [0][0];
   int i = 0;

   for(i = 0; i < a.length; i++)
   {
      for(int j = 0; j < a[0].length; j++)
      {
         if(a[i][j] > maxVal)
         {
            maxVal = a[i][j];
         }
      }
   }
   return(maxVal);
 }   
公共静态int findMaximumValue(int[][]a)
{
int maxVal=a[0][0];
int i=0;
对于(i=0;imaxVal)
{
maxVal=a[i][j];
}
}
}
返回(maxVal);
}   
2D阵列

public static int[]findMaximumIndex(int[]a)
{
int maxVal=a[0][0];
int[]maxIndex=newint[1][2];
int行=0,列=0;
对于(行=0;行maxVal)
{
maxVal=a[行][col];
maxIndex[1][2]=一行[col];
}
}
}
返回(最大索引);
}

首先,当您想要返回maxValue的索引时,您将返回一个2d int数组,该索引将是行索引和列索引。也许您想返回一个大小为2的数组来表示这一点?更多的信息会有帮助。第二,我不知道你对maxIndex 2d数组做了什么。每次遍历2d数组时,只需将maxvalue与当前元素进行比较。还没有接近调试的IDE,但应该是这样的:

  public static int[] findMaximumIndex(int[ ][ ] a)
{
    int maxVal = -99999
    int[] answerArray = new int[2];
    for(int row = 0; row < a.length; row++)
    {
        for(int col = 0; col < a[row].length; col++)
        {
            if(a[row][col] > maxVal)
            {
                maxVal = a[row][col];
                answerArray[0] = row;
                answerArray[1] = col;
            }
        }
    }
    return answerArray;
}
公共静态int[]findMaximumIndex(int[]a)
{
int maxVal=-99999
int[]answerArray=新int[2];
for(int row=0;rowmaxVal)
{
maxVal=a[行][col];
应答器数组[0]=行;
应答器数组[1]=列;
}
}
}
返回应答器数组;
}

在这里,answerArray[0]将具有最大元素的行索引,answerArray[1]将具有最大元素的列索引

,这将为我提供最大值,但我正在尝试在2D数组中输出最大值的索引。很抱歉误解,因为您有行和列,所以将有两个索引。那么您想打印出行和列吗?或者你可以把它们放在一个2号的数组中,你可以返回,但那会很奇怪。这就是我正在尝试做的,我想返回它,而不是打印出来。我只是不知道该怎么做。答案再次更新。这就是你要找的吗?我认为没有必要使用
maxVal
。在2d数组中,你返回一个元素,但返回类型是整数2d数组maxVal=a[row][col];maxIndex[1][2]=一行[col];您可以在两个步骤中完成相同的操作,即指定maxvalue
  public static int[] findMaximumIndex(int[ ][ ] a)
{
    int maxVal = -99999
    int[] answerArray = new int[2];
    for(int row = 0; row < a.length; row++)
    {
        for(int col = 0; col < a[row].length; col++)
        {
            if(a[row][col] > maxVal)
            {
                maxVal = a[row][col];
                answerArray[0] = row;
                answerArray[1] = col;
            }
        }
    }
    return answerArray;
}