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使用的内部算法。