/*------------------------------------- ex9_5.java ソート(メソッド使用:途中経過表示版) --------------------------------------*/ import java.util.Random; class ex9_5 { static final int num=20; // 変数のfinal宣言(定数として利用) static int a[] = new int[num]; // ソートのための配列a[]宣言 public static void main(String[] args) { init(); // 初期設定メソッド init() の呼び出し disp(); // 配列表示メソッド disp() の呼び出し rsort(); // 並べ替えメソッド rsort() の呼び出し disp(); // 配列表示メソッド disp()の呼び出し } static void init() { // init()メソッド:配列a[]に0〜99の乱数を格納 Random rnd = new Random(); for (int i = 0; i < a.length; i++) { a[i] = rnd.nextInt(100); } } static void rsort(){ // rsort()メソッド:配列a[]を小さい順にソート int tmp; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a.length-i-1; j++) { if ( a[j] > a[j+1] ) { tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } disp(); // 途中経過表示のためにdisp()メソッド呼び出し } } static void disp() { // disp()メソッド:配列a[]の中身を全て表示 for (int i = 0; i < a.length; i++) { System.out.printf("%2d ", a[i]); } System.out.println("\n--------------------------"); } }