Java第五天
定义矩阵
public static int [ ] [ ] initMatrix ( int n) {
int [ ] [ ] Matrix = new int [ n] [ n] ;
return Matrix;
}
矩阵输入
public static void getMatrix ( int [ ] [ ] Matrix) {
System. out. println ( "请输入:" ) ;
Scanner sc = new Scanner ( System. in) ;
for ( int i= 0 ; i< Matrix. length; i++ ) {
for ( int j= 0 ; j< Matrix. length; j++ ) {
Matrix[ i] [ j] = sc. nextInt ( ) ;
}
}
sc. close ( ) ;
}
矩阵相加
public static int [ ] [ ] addMatrix ( int [ ] [ ] Matrix1, int [ ] [ ] Matrix2) {
int [ ] [ ] A = new int [ Matrix1. length] [ Matrix2. length] ;
for ( int i= 0 ; i< Matrix1. length; i++ ) {
for ( int j= 0 ; j< Matrix2. length; j++ ) {
A[ i] [ j] = Matrix1[ i] [ j] + Matrix2[ i] [ j] ;
}
}
return A;
}
矩阵相乘
public static int [ ] [ ] mulMatrix ( int [ ] [ ] Matrix1, int [ ] [ ] Matrix2) {
int [ ] [ ] A = new int [ Matrix1. length] [ Matrix2. length] ;
for ( int i= 0 ; i< Matrix1. length; i++ ) {
for ( int j= 0 ; j< Matrix2. length; j++ ) {
for ( int k= 0 ; k< Matrix1. length; k++ ) {
A[ i] [ j] += Matrix1[ i] [ k] * Matrix2[ k] [ j] ;
}
}
}
return A;
}
矩阵输出
public static void putMatrix ( int [ ] [ ] Matrix) {
int t= 0 ;
for ( int i= 0 ; i< Matrix. length; i++ ) {
for ( int j= 0 ; j< Matrix. length; j++ ) {
System. out. print ( Matrix[ i] [ j] ) ;
t++ ;
if ( t% Matrix. length== 0 ) {
System. out. println ( ) ;
}
else {
System. out. print ( " " ) ;
}
}
}
}
主函数
public static void main ( String[ ] args) {
Scanner sc = new Scanner ( System. in) ;
int n = sc. nextInt ( ) ;
int [ ] [ ] A = initMatrix ( n) ;
getMatrix ( A) ;
int [ ] [ ] C = initMatrix ( n) ;
C = addMatrix ( A, A) ;
int [ ] [ ] D = initMatrix ( n) ;
D = mulMatrix ( A, A) ;
putMatrix ( A) ; System. out. println ( ) ;
putMatrix ( C) ; System. out. println ( ) ;
putMatrix ( D) ;
}
输出示例 整个程序
import java. util. Scanner;
import java. util. Arrays;
public class Main {
public static void main ( String[ ] args) {
Scanner sc = new Scanner ( System. in) ;
int n = sc. nextInt ( ) ;
int [ ] [ ] A = initMatrix ( n) ;
getMatrix ( A) ;
int [ ] [ ] C = initMatrix ( n) ;
C = addMatrix ( A, A) ;
int [ ] [ ] D = initMatrix ( n) ;
D = mulMatrix ( A, A) ;
putMatrix ( A) ; System. out. println ( ) ;
putMatrix ( C) ; System. out. println ( ) ;
putMatrix ( D) ; System. out. println ( ) ;
System. out. println ( Arrays. deepToString ( A) ) ;
}
public static int [ ] [ ] initMatrix ( int n) {
int [ ] [ ] Matrix = new int [ n] [ n] ;
return Matrix;
}
public static void getMatrix ( int [ ] [ ] Matrix) {
System. out. println ( "请输入:" ) ;
Scanner sc = new Scanner ( System. in) ;
for ( int i= 0 ; i< Matrix. length; i++ ) {
for ( int j= 0 ; j< Matrix. length; j++ ) {
Matrix[ i] [ j] = sc. nextInt ( ) ;
}
}
sc. close ( ) ;
}
public static int [ ] [ ] addMatrix ( int [ ] [ ] Matrix1, int [ ] [ ] Matrix2) {
int [ ] [ ] A = new int [ Matrix1. length] [ Matrix2. length] ;
for ( int i= 0 ; i< Matrix1. length; i++ ) {
for ( int j= 0 ; j< Matrix2. length; j++ ) {
A[ i] [ j] = Matrix1[ i] [ j] + Matrix2[ i] [ j] ;
}
}
return A;
}
public static int [ ] [ ] mulMatrix ( int [ ] [ ] Matrix1, int [ ] [ ] Matrix2) {
int [ ] [ ] A = new int [ Matrix1. length] [ Matrix2. length] ;
for ( int i= 0 ; i< Matrix1. length; i++ ) {
for ( int j= 0 ; j< Matrix2. length; j++ ) {
for ( int k= 0 ; k< Matrix1. length; k++ ) {
A[ i] [ j] = Matrix1[ i] [ k] * Matrix2[ k] [ j] ;
}
}
}
return A;
}
public static void putMatrix ( int [ ] [ ] Matrix) {
int t= 0 ;
for ( int i= 0 ; i< Matrix. length; i++ ) {
for ( int j= 0 ; j< Matrix. length; j++ ) {
System. out. print ( Matrix[ i] [ j] ) ;
t++ ;
if ( t% Matrix. length== 0 ) {
System. out. println ( ) ;
}
else {
System. out. print ( " " ) ;
}
}
}
}
}