Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组中包含最大值的元素的位置_Java - Fatal编程技术网

Java 数组中包含最大值的元素的位置

Java 数组中包含最大值的元素的位置,java,Java,伙计们,我怎么知道最大值在数组中的位置,我知道最大值,但我需要知道它的位置 class maximumofarray { public static void main(String[] args) { double maximum; int i; double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0}; maximum=a[0]; for (i = 1; i &l

伙计们,我怎么知道最大值在数组中的位置,我知道最大值,但我需要知道它的位置

class maximumofarray
{

    public static void main(String[] args)
    {
    double maximum;
    int i;
    double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
    maximum=a[0];
    for (i = 1; i <= 10; i++) 
      {
      if (a[i] > maximum)
        {
        maximum = a[i];
        }

      }
    System.out.println("The maximum element is "+maximum);

    }
}
类最大数组
{
公共静态void main(字符串[]args)
{
双倍最大值;
int i;
双[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0};
最大值=a[0];
对于(i=1;i最大值)
{
最大值=a[i];
}
}
System.out.println(“最大元素为”+最大值);
}
}

您需要遵循以下步骤:

(1) 再声明一个变量(
maxLocation
),该变量是收集
最大值的位置所必需的

(2) 分配最大值(即,
a[i]>最大值
)时,还将最大元素的位置收集为
maxLocation

代码如下所示:

double maximum;
int i;
int maxLocation =0;
double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
maximum=a[0];
for (i = 1; i <= 10; i++) 
  {
  if (a[i] > maximum)
    {
       maximum = a[i]; //assign maximum value
       maxLocation = i; //Also, collect the location as well to maxLocation
    }

  }
System.out.println("The maximum element is "+maximum);
System.out.println("The maximum element is "+maxLocation);

}
双倍最大值;
int i;
int maxLocation=0;
双[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0};
最大值=a[0];
对于(i=1;i最大值)
{
最大值=a[i];//分配最大值
maxLocation=i;//此外,还将位置收集到maxLocation
}
}
System.out.println(“最大元素为”+最大值);
System.out.println(“最大元素为“+maxLocation”);
}

您需要遵循以下步骤:

(1) 再声明一个变量(
maxLocation
),该变量是收集
最大值的位置所必需的

(2) 分配最大值(即,
a[i]>最大值
)时,还将最大元素的位置收集为
maxLocation

代码如下所示:

double maximum;
int i;
int maxLocation =0;
double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
maximum=a[0];
for (i = 1; i <= 10; i++) 
  {
  if (a[i] > maximum)
    {
       maximum = a[i]; //assign maximum value
       maxLocation = i; //Also, collect the location as well to maxLocation
    }

  }
System.out.println("The maximum element is "+maximum);
System.out.println("The maximum element is "+maxLocation);

}
双倍最大值;
int i;
int maxLocation=0;
双[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0};
最大值=a[0];
对于(i=1;i最大值)
{
最大值=a[i];//分配最大值
maxLocation=i;//此外,还将位置收集到maxLocation
}
}
System.out.println(“最大元素为”+最大值);
System.out.println(“最大元素为“+maxLocation”);
}

使用第二个变量

double maximum;
int locationOfMaximum;
int i;
double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
maximum=a[0];
locationOfMaximum = 0;
for (i = 1; i <= 10; i++) 
  {
  if (a[i] > maximum)
    {
    maximum = a[i];
    locationOfMaximum = i;
    }

  }
System.out.println("The maximum element is "+maximum+";  it appears at index "+locationOfMaximum);
双倍最大值;
最大值的int位置;
int i;
双[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0};
最大值=a[0];
最大值的位置=0;
对于(i=1;i最大值)
{
最大值=a[i];
最大值的位置=i;
}
}
System.out.println(“最大元素为“+maximum+”,它出现在索引“+locationOfMaximum”);
为了记录在案,我建议再做一些修改,使代码更具可读性

double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};

double maximum = Double.MIN_VALUE;  // Or Double maximum = null;
int locationOfMaximum = -1;
for (int i = 0; i < a.length; i++) {
  if (a[i] > maximum) {
    maximum = a[i];
    locationOfMaximum = i;
  }

}
System.out.println("The maximum element is "+maximum+";  it appears at index "+locationOfMaximum);
double[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
最大值加倍=最小值加倍;//或双倍最大值=零;
int-locationOfMaximum=-1;
for(int i=0;i最大值){
最大值=a[i];
最大值的位置=i;
}
}
System.out.println(“最大元素为“+maximum+”,它出现在索引“+locationOfMaximum”);

使用第二个变量

double maximum;
int locationOfMaximum;
int i;
double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
maximum=a[0];
locationOfMaximum = 0;
for (i = 1; i <= 10; i++) 
  {
  if (a[i] > maximum)
    {
    maximum = a[i];
    locationOfMaximum = i;
    }

  }
System.out.println("The maximum element is "+maximum+";  it appears at index "+locationOfMaximum);
双倍最大值;
最大值的int位置;
int i;
双[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0};
最大值=a[0];
最大值的位置=0;
对于(i=1;i最大值)
{
最大值=a[i];
最大值的位置=i;
}
}
System.out.println(“最大元素为“+maximum+”,它出现在索引“+locationOfMaximum”);
为了记录在案,我建议再做一些修改,使代码更具可读性

double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};

double maximum = Double.MIN_VALUE;  // Or Double maximum = null;
int locationOfMaximum = -1;
for (int i = 0; i < a.length; i++) {
  if (a[i] > maximum) {
    maximum = a[i];
    locationOfMaximum = i;
  }

}
System.out.println("The maximum element is "+maximum+";  it appears at index "+locationOfMaximum);
double[]a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};
最大值加倍=最小值加倍;//或双倍最大值=零;
int-locationOfMaximum=-1;
for(int i=0;i最大值){
最大值=a[i];
最大值的位置=i;
}
}
System.out.println(“最大元素为“+maximum+”,它出现在索引“+locationOfMaximum”);

您可以使用utilit方法
数组。排序(a)
对数组进行排序。然后max元素将保持在lat索引

double maximum;
int i;
double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};

Arrays.sort(a);

System.out.println("The maximum element is "+a[a.length-1]);

您可以使用utilit方法
Arrays.sort(a)
对数组进行排序。然后max元素将保持在lat索引

double maximum;
int i;
double [] a={1.5,2.3,4.2,-9.4,2.0,12.9,-5.0,12.9,-0.1,-15.0,0.0};

Arrays.sort(a);

System.out.println("The maximum element is "+a[a.length-1]);

一个修改:在开始处分配maxLocation=0,因为如果[0]是数组中最大的,那么最后一行将打印空值。一个修改:在开始处分配maxLocation=0,因为如果[0]是数组中最大的,那么最后一行将打印空值。这非常无效,还有其他一些方法比排序更有效。@KamilGryboś因此,您试图说JDK中存在的这个实用方法无效,性能较差。它内部使用“双枢轴快速排序”,您可以随时检查性能,给出时间戳并检查代码所用的时间。当您的jar中已经有一个方法时,我们不应该使用不必要的代码行。不是全局的。@sushuberu如果这段代码是一个大项目的一部分,那么它是绝对正确的。但很明显,这似乎是由一个正在学习java的人提出的,而不是一个正在工作的专业人士。因此,作为学习者,一个人需要在这个阶段编写算法,而不是使用API+1用于提及此API使用的内部算法。它非常无效,还有一些其他方法比排序更有效。@KamilGryboś因此您试图说JDK中存在的此实用程序方法无效且性能较差。这在内部使用“双枢轴快速排序”您可以随时检查性能,给出时间戳并检查代码所用的时间。当您的jar中已经有一个方法时,我们不应该使用不必要的代码行。不是全局的。@sushuberu如果这段代码是一个大项目的一部分,那么它是绝对正确的。但很明显,这似乎是由一个正在学习java的人提出的,而不是一个正在工作的专业人士。因此,作为学习者,一个人需要在这个阶段编写算法,而不是使用API+1用于说明此API使用的内部算法。