MakeRandomData.java



/** 試験の点数のデータを生成するクラス */
public class MakeRandomData {

  /** データをランダムに生成するメソッド */
    public static Score[] getData( int num ) {

        Score[] data = new Score[num];

        for( int i=0; i<data.length; i++ ) {
             data[i]
               = new Score( i+1, generateName(), generatePoint() );
        }
        return data;
    }

  /** ランダムに点数を生成するメソッド */
    private static int generatePoint() {

        int x=0;
        x+=(int)(Math.random()*51);
        x+=(int)(Math.random()*51);
        return x;
    }

  /** ランダムに生成する名前の元データ */
    private static String[][] s = {
        { "丸", "金", "上", "柴", "鈴", "木","石", "森", "佐々", "喜多" },
        { "山", "川", "藤", "田", "田", "崎","沢", "内", "本", "倉" },
        { "伸", "修", "裕", "優", "寛", "秀","昭", "明", "知恵", "真理" },
        { "夫", "彦", "作", "平", "雄", "子","子", "江", "美", "" },
    };

  /** ランダムに名前を生成するメソッド */
    private static String generateName() {

         return s[0][(int)(Math.random()*s[0].length)]
              + s[1][(int)(Math.random()*s[1].length)]
              + s[2][(int)(Math.random()*s[2].length)]
              + s[3][(int)(Math.random()*s[3].length)];
    }

  /** main()メソッド(確認用) */
    public static void main( String[] argv ) {

        Score[] scores =  getData( 100 );
        for( int i=0; i<scores.length; i++ ) {
            System.out.println( scores[i].toString() );
        }
    }
}