// 3*3的方陣相乘。 import java.io.*; public class n11 { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int[][] num1=new int[3][3]; int[][] num2=new int[3][3]; int[][] num3=new int[3][3]; int i,j,cont,k; String getbr; while (true) { for (i=0;i<3;i++) for (j=0;j<3;j++) { //add by tjm num1[i][j]=0; num2[i][j]=0; num3[i][j]=0; } System.out.println("請輸入第一個方陣:"); for (i=0;i<3;i++) for (j=0;j<3;j++) { System.out.print("請輸入第 "+((i*3)+(j+1))+" 個因子 : " ); num1[i][j]=Integer.parseInt(br.readLine()); } System.out.println("請輸入第二個方陣:"); for (i=0;i<3;i++) for (j=0;j<3;j++) { System.out.print("請輸入第 "+((i*3)+(j+1))+" 個因子 : " ); num2[i][j]=Integer.parseInt(br.readLine()); } //方陣相乘 for (i=0;i<3;i++) for (j=0;j<3;j++) { for (k=0;k<3;k++) num3[i][j]=num3[i][j]+num1[i][k]*num2[k][j]; } /************************** num3[0][0]=num1[0][0]*num2[0][0]+num1[0][1]*num2[1][0]+num1[0][2]*num2[2][0]; num3[0][1]=num1[0][0]*num2[0][1]+num1[0][1]*num2[1][1]+num1[0][2]*num2[2][1]; num3[0][2]=num1[0][0]*num2[0][2]+num1[0][1]*num2[1][2]+num1[0][2]*num2[2][2]; num3[1][0]=num1[1][0]*num2[0][0]+num1[1][1]*num2[1][0]+num1[1][2]*num2[2][0]; num3[1][1]=num1[1][0]*num2[0][1]+num1[1][1]*num2[1][1]+num1[1][2]*num2[2][1]; num3[1][2]=num1[1][0]*num2[0][2]+num1[1][1]*num2[1][2]+num1[1][2]*num2[2][2]; num3[2][0]=num1[2][0]*num2[0][0]+num1[2][1]*num2[1][0]+num1[2][2]*num2[2][0]; num3[2][1]=num1[2][0]*num2[0][1]+num1[2][1]*num2[1][1]+num1[2][2]*num2[2][1]; num3[2][2]=num1[2][0]*num2[0][2]+num1[2][1]*num2[1][2]+num1[2][2]*num2[2][2]; *****************************/ System.out.println("第一個方陣:"); for (i=0;i<3;i++) { for (j=0;j<3;j++) System.out.print(num1[i][j]+"\t"); System.out.println(); } System.out.println("第二個方陣:"); for (i=0;i<3;i++) { for (j=0;j<3;j++) System.out.print(num2[i][j]+"\t"); System.out.println(); } System.out.println("方陣乘積:"); for (i=0;i<3;i++) { for (j=0;j<3;j++) System.out.print(num3[i][j]+"\t"); System.out.println(); } System.out.print("請問你是否要繼續(按0結束,其他鍵繼續) " ); getbr=br.readLine(); if (getbr.equals("0")) return; } } }