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

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Java | 14 | クラスメソッド

↓↓クリックして頂けると励みになります。



13 | メソッド】 << 【ホーム】 >> 【15 | サイコロゲーム


他のクラスのメソッドを使用したプログラム
他のクラスのメソッドを使用したプログラム



Javaで他のクラスのメソッドを利用するには、いくつかの方法があります。
以下にいくつかの一般的な方法を示します。

  1. インスタンス化して利用する: 別のクラスのメソッドを利用するには、そのクラスのオブジェクトをインスタンス化して、そのオブジェクトのメソッドを呼び出します。
  2. 静的メソッドを利用する: 別のクラスの静的メソッドを利用する場合は、そのクラス名を使用してメソッドを呼び出します。
  3. 継承して利用する: 別のクラスを継承している場合、そのクラスのメソッドをサブクラスで利用できます。


まずはインスタンス化してメソッドを利用する方法を学びます。


Visual Studio Codeで以下のJavaプログラム「Sort7.java」を作成して下さい。


新規作成 【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にもともと入っている並び替えのプログラム(sortメソッド)を使用しています。


実行したときの分、秒、ミリ秒を取得するのにCalendar.getInstance();というjavaのパッケージを使用しています。
「分、秒、ミリ秒」をJavaのパッケージから取得することができます。


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


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


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


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


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


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


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


Javaプログラムをコンパイルして実行結果を確認します。

~/Desktop/Programming/JP $ javac Sort7.java

~/Desktop/Programming/JP $ java Sort7      
s:Start:39:50:591 Finish:39:50:651
b:Start:39:50:652 Finish:39:50:753
q:Start:39:50:754 Finish:39:50:758
m:Start:39:50:759 Finish:39:50:763
j:Start:39:50:764 Finish:39:50:768



13 | メソッド】 << 【ホーム】 >> 【15 | サイコロゲーム




↓↓クリックして頂けると励みになります。