Java-多次元配列

前回のちょっとした続き。多次元配列を使って線形代数の基本的な計算問題の、行列式の値を計算するプログラムを書いてみました。ただし2行2列の正方行列限定ですが・・・。まあ3行3列の計算もかなり面倒になりそうですけどできなくはなさそう。


ちなみに多次元配列というのは

int sample[][] = new int[5][4];

のような文で、使い方は普通の配列とほとんど変わりません。

sample[0][0] = 10;
sample[0][1] = 20;
sample[1][0] = 30;

などのように使えます。

//多次元配列の応用・任意の2行2列行列式の計算
import java.io.*;

public class May12n2 {

	public static void main(String[] args) throws IOException
	{
		int num[][] = new int[2][2];
		System.out.println("2*2行列の値を計算をします。");
		
		BufferedReader br =
			new BufferedReader(new InputStreamReader(System.in));
		
		for(int i=0; i<num.length; i++){
			for(int j=0; j<num.length; j++){
				System.out.print("("+(i+1)+","+(j+1)+")行列の値は?:");
				String str = br.readLine();
				num[i][j] = Integer.parseInt(str);
				}
		}
		System.out.println("");
		System.out.println(num[0][0]+"\t"+num[0][1]);
		System.out.println(num[1][0]+"\t"+num[1][1]);
		System.out.println("");
		System.out.println("上の行列式の値は");
		System.out.println(num[0][0]*num[1][1]-num[1][0]*num[0][1]);
	}

}

出力結果は、たとえば

2*2行列の値を計算をします。
(1,1)の値は?:3
(1,2)の値は?:4
(2,1)の値は?:5
(2,2)の値は?:6

3	4
5	6

上の行列式の値は
-2


変なところがあったり、もっと簡潔にかけそうなところがあったら教えてください(´・ω・`)