如何计算第二个数组索引没有位置?

时间:2017-05-07 06:02:28

标签: java arrays

//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);
    }
}

这是我的代码片段,我必须计算数组中的第二大数字,通过使用这个逻辑,我可以找出第二个最大元素,但我无法找到数组的第二个位置

1 个答案:

答案 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);}
    }