(集合)キーボードは複数のデータを入力し、0で終了し、コンソールで複数のデータの最大値を出力する必要があります.

1597 ワード

import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner;
/*キーボード入力複数データ、0で終了、コンソール出力複数データの最大値を要求*分析:*A:キーボード入力データオブジェクトの作成*B:キーボード入力複数データ、私たちは何個か分からないので、集合記憶*C:0で終了、これは簡単で、キーボード入力データが0であれば、私はデータを入力し続けません*D:集合を配列に変換します*E:配列をソートします*F:その配列の最大インデックスの値を取得します*/public class ArrayListDemo{public static void main(String[]args){//キーボード入力データオブジェクトScanner sc=new Scanner(System.in);
    //         ,        ,       
    ArrayList array = new ArrayList();

    //  0  ,    ,          0,          
    while (true) {
        System.out.println("     :");
        int number = sc.nextInt();
        if (number != 0) {
            array.add(number);
        } else {
            break;
        }
    }

    //        
    // public  T[] toArray(T[] a)
    Integer[] i = new Integer[array.size()];
    // Integer[] ii = array.toArray(i);
    array.toArray(i);
    // System.out.println(i);
    // System.out.println(ii);

    //      
    // public static void sort(Object[] a)
    Arrays.sort(i);

    //              
    System.out.println("   :" + arrayToString(i) + "    :"
            + i[i.length - 1]);
}

public static String arrayToString(Integer[] i) {
    StringBuilder sb = new StringBuilder();

    sb.append("[");
    for (int x = 0; x < i.length; x++) {
        if (x == i.length - 1) {
            sb.append(i[x]);
        } else {
            sb.append(i[x]).append(", ");
        }
    }
    sb.append("]");

    return sb.toString();
}

}