?? testmatrix.java
字號:
import java.io.*;
class Matrix{
private int[][] m;
Matrix(){
}
Matrix(int[][] a){
m=new int[a.length][a.length];
for (int i=0;i<a.length;i++){
for (int j=0;j<a.length;j++){
m[i][j]=a[i][j];
}
}
}
Matrix(Matrix a){
int[][] m1=a.m;
m=new int[m1.length][m1.length];
for (int i=0;i<m1.length;i++){
for (int j=0;j<m1.length;j++){
m[i][j]=m1[i][j];
}
}
}
public void printMatrix(){
for (int i=0;i<m.length;i++){
System.out.print("|");
for (int j=0;j<m.length;j++){
System.out.print("\t"+m[i][j]);
}
System.out.println("\t|");
}
}
public static Matrix matrixAdd(Matrix a,Matrix b){
int[][] m1=a.m, m2=b.m;
int[][] m3=new int[m1.length][m1.length];
for (int i=0;i<m3.length;i++){
for (int j=0;j<m3.length;j++){
m3[i][j]=m1[i][j]+m2[i][j];
}
}
return new Matrix(m3);
}
public static Matrix matrixSub(Matrix a,Matrix b){
int[][] m1=a.m, m2=b.m;
int[][] m3=new int[m1.length][m1.length];
for (int i=0;i<m3.length;i++){
for (int j=0;j<m3.length;j++){
m3[i][j]=m1[i][j]-m2[i][j];
}
}
return new Matrix(m3);
}
public static Matrix matrixMul(Matrix a,Matrix b){
int[][] m1=a.m, m2=b.m;
int[][] m3=new int[m1.length][m1.length];
for (int i=0;i<m3.length;i++){
for (int j=0;j<m3.length;j++){
for (int k=0;k<m3.length;k++){
m3[i][j]=m3[i][j]+m1[i][k]*m2[k][j];
}
}
}
return new Matrix(m3);
}
}
class TestMatrix{
public static void main(String[] args){
int n=0;
Reader ir = new InputStreamReader(System.in);
BufferedReader r = new BufferedReader(ir);
String sc="";
System.out.print("輸入 n = ");
try{
sc = r.readLine();
}catch (IOException e){}
try{
n=Integer.parseInt(sc);
}catch (NumberFormatException e){
System.out.println("輸入的數據不是整數");
System.exit(1);
}
int[][] a1=new int[n][n];
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
a1[i][j]=(int)(Math.random()*10);
}
}
Matrix ma=new Matrix(a1);
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
a1[i][j]=(int)(Math.random()*10);
}
}
Matrix mb=new Matrix(a1);
Matrix mc;
System.out.println("Matrix A = ");
ma.printMatrix();
System.out.println("\nMatrix B = ");
mb.printMatrix();
mc=Matrix.matrixAdd(ma,mb);
System.out.println("\nMatrix A + B = ");
mc.printMatrix();
mc=Matrix.matrixSub(ma,mb);
System.out.println("\n\nMatrix A - B = ");
mc.printMatrix();
mc=Matrix.matrixMul(ma,mb);
System.out.println("\n\nMatrix A * B = ");
mc.printMatrix();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -