学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース

Javaプログラミング入門その12 他のクラスのメソッドを使用したプログラム

<<前  [TOP]  次>>


メモ帳を開いて次のプログラムを作ってみましょう。


Sort7.java 直

import java.util.*;
public class Sort7 {
	public static void main( String[] args ) {
		int num = 10000;
		int max = 10000000;
		char[] flags = { 's', 'b', 'q', 'm', 'j' };
			for( int i=0; i<flags.length; i++ ) {
				int[] array = makeRandomInteger ( num,max );
				Calendar cal = Calendar.getInstance();
				System.err.print( flags[i] + ":" );
				System.err.print( "Start:"
					+ cal.get( Calendar.MINUTE ) + ":"
					+ cal.get( Calendar.SECOND ) + ":"
					+ cal.get ( Calendar.MILLISECOND ) );

			sort( array,flags[i] );
				cal = Calendar.getInstance();
					System.err.println( " Finish:"
					+ cal.get( Calendar.MINUTE ) + ":"
					+ cal.get( Calendar.SECOND ) + ":"
					+ cal.get( Calendar.MILLISECOND ));
		}
	}
	public static void sort( int[] array, char c ){
		switch( c ) {
			case 's': Sort3.sort( array );
   			break;
			case 'b': Sort4.sort( array );
                        break;
			case 'q': Sort5.sort( array );
                        break;
                        case 'm': Sort6.sort( array );
                        break;
			case 'j': java.util.Arrays.sort( array );
			break;
			default :
		}
	}
	public static int[] makeRandomInteger( int num, int max ){
		int[] array = new int[num];
			for( int i=0; i<num; i++ ) {
				array[i] = (int)( max * Math.random() );
			}
			return array;
	}
}



このプログラムでは、最初に「import java.util.*;」と書いて、javaのパッケージの使用を宣言しています。
何を使っているかというと、「case 'j': java.util.Arrays.sort( array );」の行でjavaにもともと入っている並び替えのプログラムを使用しています。
このことについては後で詳しく説明しますので、今はまだ解らなくても良いです。


もう一つ、実行したときの分、秒、ミリ秒を取得するのにCalendar.getInstance();というjavaのパッケージを使用しています。
これも、今は詳しく解らなくても良いです。
分、秒、ミリ秒を取得しているんだなくらいに思っておいてください。


ここで覚えてほしいのは、この分、秒、ミリ秒をSystem.err.printで出力していることです。
これを、標準エラー出力といいます。
これに対して、今までのSystem.out.printを標準出力といいます。


標準出力はプログラムで実行された結果を出力していました。
標準エラー出力はそれと違い、エラーメッセージとして表示しています。
これは、あくまでもメッセージなので、結果の出力とは異なります。
プログラムの実行中に、メッセージを表示していきます。
もっと大規模なプログラムになるとこのエラー出力が重要になってきます。
エラーが起きそうな場所にエラー出力が表示されるようにしておいて、エラーが起こったときに素早く対応できるようにします。


もう一つ覚えておいてほしいことは、他のクラスのメソッドの呼び出し方法です。
他のクラスのメソッドを呼び出すには次のように記述します。


クラス名.メソッド名(引数);


この際、呼び出されるクラスはコンパイルされている必要があります。


最後に、makeRandomIntegerメソッドについて少し説明します。
このメソッドでは、numの数だけ配列がランダムに作られます。
max未満の整数が配列に入ります。


配列に代入するときに、(int)でint型にキャストされています。


出力結果を見てみましょう。





<<前  [TOP]  次>>