日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

转圈显示的Java程序和两矩阵相乘

發布時間:2025/4/16 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转圈显示的Java程序和两矩阵相乘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.轉圈顯示的Java程序,將N x N的方陣轉圈賦值并顯示輸出。如圖:N=8,8x8方陣轉圈填數結果。


解析:這是一個依靠矩陣中每個元素的下標對其進行操作的典型事例。其要求將1~NXN之間的整數按照從外向里的順時針方向將其放入其中,并顯示輸出。

文件名:

RotatitonClass.java

下面是這個程序的代碼:
package javaapplication1;
public class RotatitonClass {
??? public static final int N=8;?? //方陣的大小
??? public static void main(String[] args) {
??????? int[][] m = new int[N][N];? //創建N x N的方陣
??????? rotating(m,N);????????????? //向方陣中填寫數值
??????? printSquareMatrix(m,N);???? //顯示方陣
?????? }
??? public static void rotating(int[][] m,int num)? //向方向中填寫數值
??? {
??????? int k = 1;????????????????? //將要填寫的數值
??????? for (int i = 0; i<=num/2;i++)? //將要填寫的圈數
??????? {
??????????? for (int j=i;j<num-i;j++)? //上方行方向
??????????? {
??????????????? m[i][j]=k++;
??????????? }
??????????? for (int j=i+1;j<num-i;j++)? //右側列方向
??????????? {
??????????????? m[j][num-i-1]=k++;
??????????? }
??????????? for (int j=num-i-2;j>=i;j--)? //下方行方向
??????????? {
??????????????? m[num-i-1][j]=k++;
??????????? }
??????????? for (int j=num-i-2;j>i;j--)? //左側方向
??????????? {
??????????????? m[j][i]=k++;
??????????? }
??????? }
??? }
??? public static void printSquareMatrix(int[][] m,int num) //顯示方陣
??? {
??????? System.out.println();
??????? for (int i=0;i<num;i++)
??????? {
??????????? for (int j=0;j<num;j++)
??????????? {
??????????????? System.out.printf("%4d", m[i][j]);
??????????? }
??????????? System.out.println();
??????? }
??? }
}

在上述小Java程序中,除main主函數外,還定義了2個成員函數,成員函數rotating用于實現按照要求為方陣轉圈填數的操作;成員函數printSquareMatrix用于顯示方陣。

?? 成員函數rotating是這個程序的核心,它采用每次循環一次填寫一圈的算法將NxN個整數填入方陣中。具體做法是從外向內依次填寫每圈的內容,每圈按照上、右、下、左的順時針順序填寫。每圈需要填寫的元素數量由方陣大小(num)和圈數(i)決定。

2.? 利用二維數組表示矩陣,并實現兩個矩陣相乘的操作。

解析:矩陣可以用來表示統計數據等方面的各種有關聯的數據。在數學上,矩陣可以是由方程組的系數及常數構成的方陣。在矩陣的運算中,要求兩個相乘的矩陣必須滿足第1個矩陣的列數等于第2個矩陣的行數。即對于 Am1×n1和Bm2×n2,要求n1=m2,且結果矩陣C的行列數為m1×n2,其中的每個元素內容為

?

文件名:Matrix.java

一下是程序的代碼:

package javaapplication3;
public class Matrix {
??? public static final int M1 = 8; //第1個矩陣的行數
??? public static final int N1 = 5; //第1個矩陣的列數
??? public static final int M2 = 5; //第2個矩陣的行數
??? public static final int N2 = 6; //第2個矩陣的列數

??? public static void main(String[] args) {
??????? int [][] a =new int[M1][N1]; //創建第1個矩陣
??????? int [][] b =new int[M2][N2]; //創建第2個矩陣

??????? enterMatrix(a,M1,N1);?? //輸入第1個矩陣
??????? enterMatrix(b,M2,N2);?? //輸入第2個矩陣
??????? printMatrix(a,M1,N1);?? //顯示第1個矩陣
??????? printMatrix(b,M2,N2);?? //顯示第2個矩陣

??????? if (N1==M2)
??????? {
??????????? int[][] c = new int[M1][N2];
??????????? MulMatrix(a,M1,N1,b,M2,N2,c);
??????????? printMatrix(c,M1,N2);
??????? }
????? }

public static void enterMatrix(int[][] m, int row, int col) {? //輸入矩陣
????? for (int i = 0; i < row; i++) {
??????????? for (int j = 0; j < col; j++) {
??????????????? m[i][j] = (int) Math.round(Math.random() * 10);
??????????? }
???? }}
public static void printMatrix(int[][] m, int row, int col) {? //顯示矩陣
????????? System.out.println();
??????? for (int i = 0; i < row; i++) {
??????????? for (int j = 0; j < col; j++) {
??????????????? System.out.printf("%4d",m[i][j]);
??????????? }
??????????? System.out.println();
??????? }
??????? System.out.println();
?}
//兩矩陣相乘
public static void MulMatrix(int[][] a, int row1, int col1, int[][] b, int row2, int col2, int[][] c) {
for (int i = 0; i < row1; i++) {
??????????? for (int j = 0; j < col2; j++) {
??????????????? c[i][j] = 0;
??????????????? for (int k = 0; k < col1; k++) {
??????????????????? c[i][j] += a[i][k] * b[k][j];
??????????????? } } }
?}

}

運行效果:

第1個矩陣

?

第2個矩陣

?

兩矩陣之乘積

?? ?上述程序中,除main函數外,還定義了3個成員函數,成員函數enterMatrix用于實現為矩陣賦值的操作;成員函數printMatrix用于顯示矩陣;成員函數MulMatrix用于實現兩個矩陣相乘的操作。

? ?在成員函數enterMatrix中,為了避免調試程序時需要輸入大量數據所帶來的麻煩,利用Math類中提供的random這個隨機函數產生0~1之間的數值,并經過乘以10再四舍五入的處理,映射為0~10之間的整數,以此模擬鍵盤的輸入,這是在調試程序時經常用到的手段。(在里我們也可根據需要自己輸入)

?? 在成員函數printMatrix中,給出的是顯示矩陣的常規格式,即外層控制行的輸出,內層循環控制烈的輸出,每行的內容輸出完畢后執行一條換行語句,以此達到矩陣內容按照行列格式輸出。

?? 在成員函數MulMatrix中,利用三重循環實現了兩個矩陣相乘的操作,這也是一種常規的書寫格式。

轉載于:https://blog.51cto.com/linuxme/391339

總結

以上是生活随笔為你收集整理的转圈显示的Java程序和两矩阵相乘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产浮力第一页 | 巨物撞击尤物少妇呻吟 | 青青超碰 | 丝袜五月天 | 亚洲成av人片 | av网站一区二区 | 国产裸体视频网站 | 日韩午夜伦 | 欧美黑人欧美精品刺激 | 中日韩精品视频在线观看 | 野花国产精品入口 | 欧美成人一区二区三区高清 | 好色艳妇小说 | 天堂网在线中文 | 久久蜜桃av一区二区天堂 | 天天想你在线观看完整版电影高清 | 欧美视频在线不卡 | 日韩av一区二区在线观看 | 成人听书哪个软件好 | 狠狠狠狠狠狠狠干 | 少妇光屁股影院 | 中文字幕亚洲视频 | 日本最新中文字幕 | 欧美一区二区三区成人片在线 | 成人免费视频网站在线观看 | 国产suv精品一区二区69 | 手机av资源 | 亚洲精品精品 | 成年在线观看 | 五月天婷婷综合网 | 伊人成人在线视频 | av免费成人| 伊人久久久久久久久久 | 欧美日韩高清免费 | 美国黄色网址 | 天堂视频免费 | 天天干,天天干 | 91小仙女jk白丝袜呻吟 | 色无极亚洲色图 | 精品无码在线视频 | 欧洲一级片 | 中国精品一区二区 | 精品少妇一区二区三区免费观 | 嫩草视频国产 | 久久免费精品视频 | 欧美干| 亚洲视频色图 | 久久e热 | 成人福利一区 | 免费成人美女在线观看. | 欧美激情啪啪 | 91日韩中文字幕 | 欧美国产日韩在线观看 | 亚洲激情视频网 | 三级在线观看 | 后宫秀女调教(高h,np) | 国产三级午夜理伦三级 | 精品午夜一区二区三区在线观看 | 一本av在线| 成人免费看 | 好男人www | 亚洲经典视频在线观看 | 男生插女生的视频 | 日韩精品久久久久久久 | 中文字幕一区二区三区电影 | 奇米色777 | 97精品人妻一区二区三区 | 欧美一级淫片007 | 青青草视频播放 | 日本免费一区视频 | 九九热色| 亚洲欧洲一区 | 久久福利网站 | 人体内射精一区二区三区 | 国产91av视频 | 欧美激情在线一区二区 | h视频在线免费观看 | 日本一区二区三区视频免费看 | 一级视频在线免费观看 | 手机免费在线观看av | 日韩视频在线免费播放 | 美女靠逼app | 黄色片网站在线看 | 欧美特级a | 向日葵视频在线 | 懂色av蜜臀av粉嫩av喷吹 | 亚洲xxxx天美 | 东北女人啪啪ⅹxx对白 | av中字| 色婷婷激情五月 | 特级黄色录像 | 中文字幕第6页 | 美国福利片 | 精品久久久久中文慕人妻 | 一区二区在线视频 | 小柔的淫辱日记(1~7) | 99福利影院 | 亚洲精选在线观看 | 精品中文字幕一区二区三区 |