1. 程式人生 > >求陣列中第二大數(後續求第K大)

求陣列中第二大數(後續求第K大)

package cn.edu.nwsuaf.cie.qhs;

import java.util.Scanner;

public class GetGreater {

    private int initArray[];
    public int[] getInitArray() {
        return initArray;
    }
    public void setInitArray(int[] initArray) {
        this.initArray = initArray;
    }
    
    public GetGreater(){}
    public GetGreater(int[] array){
        initArray = array;
    }
    
    public int getGreaterOne(){
        int greater = initArray[0];
        int greatest = initArray[0];
        for(int iterator:initArray){
            if(iterator>greatest){
                greatest = iterator;
            }else if(iterator<greatest && iterator>greater){
                greater = iterator;
            }
        }
        return greater;
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int array[];
        int length;
        Scanner scanner = new Scanner(System.in);
        GetGreater getGreater = new GetGreater();
        System.out.println("請輸入資料長度:");
        length = scanner.nextInt();
        array = new int[length];
        for(int i=0;i<length;i++){
            System.out.println("請輸入第"+i+1+"個數:");
            array[i] = scanner.nextInt();
        }
        getGreater.setInitArray(array);
        System.out.println("------>"+getGreater.getGreaterOne());
    }

}