ToukeiTest.java



/** データの処理のテスト */
import java.io.*;
public class ToukeiTest {

  /** 標準入力から1行ごとのデータを読み込む準備 */
    public static BufferedReader input;
    static {
         input = new BufferedReader(
                    new InputStreamReader( System.in ) );
    }

  /** データを記憶する配列 */
    private static int[] data = null;

  /** 処理の開始のメソッド */
    public static void main( String[] argv ) {

        System.out.println( "*** >> の後に整数のデータを入力してください ***" );
        System.out.println( "*** quit または exit を入力すると終了します ***" );
        while( true ) {

            readData();
            printData();
        }
    }

  /** データを1個読み込むメソッド */
    public static void readData(){
        System.out.print( ">> " );
        String line = null;
        try {
            if( data == null ) {
                data = new int[1];
            }
            else {
                int[] old = data;
                data = new int[ old.length + 1 ];
                for( int i=0; i<old.length; i++ ) {
                   data[i] = old[i];
                }
            }
            line = input.readLine();
            data[ data.length - 1 ] = Integer.parseInt( line );
        }
        catch( Exception e ) {
            if( line.equals( "quit" ) || line.equals( "exit" ) ) {
                System.exit(0);
            }
            else
                System.err.println( "整数を入力してください" );
        }
    }

  /** データを出力するメソッド */
    public static void printData(){

        System.out.println( "データ数:" + data.length + ","
                          + "合計値:" + Goukei.goukei( data ) + ","
                          + "平均値:" + Heikin.heikin( data ) + ","
                          + "最大値:" + Saidai.saidai( data ) + ","
                          + "最小値:" + Saisyou.saisyou( data ) );
    }
}