//second highest from an array ,To find out the second maximum array element from an array
import java.util.*;
public class Secondhighest
{
public static void main(String h[])
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter Array Size");
int firstmax,secondmax,firstpos=0,secondpos=0;
int size=sc.nextInt();
int num[]=new int[size];
System.out.println("Enter Array Elements");
for(int i=0;i<size;i++)
{
num[i]=sc.nextInt();
}
System.out.println("Display Array Elements");
for(int i=0;i<size;i++)
{
System.out.println("Array Elements are:-"+num[i]+" at poition no"+i);
}
System.out.println("Checking of Second Highest No");
firstmax=num[0];secondmax=num[0];
for(int i=0;i<size;i++)
{
if(num[i]>firstmax)
{
secondmax=firstmax;
firstmax=num[i];
firstposition=i+1;
}
else if(num[i]>secondmax)
{
secondmax=num[i];
secondpos=i+1;
}
}
System.out.println("First Max number is :-"+firstmax+"At position no:-"+firstpos);
System.out.println("Second Max number is :-"+secondmax+"At position no:-"+secondpos);
}
}
这是我的代码片段,我必须计算数组中的第二大数字,通过使用这个逻辑,我可以找出第二个最大元素,但我无法找到数组的第二个位置
答案 0 :(得分:0)
使用Arrays.sort对数组进行排序..在你的情况下
public static void main(String h[])
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter Array Size");
int firstmax,secondmax,firstpos=0,secondpos=0;
int size=sc.nextInt();
int num[]=new int[size];
Arrays.sort(num); // will do the sorting
//print the array contents
for(int n:num) { System.out.println(n);}
}