所以我想構造一個程序,它接收兩個矩陣的元素並給出這兩個矩陣的乘積。到目前爲止,我進行了一些嘗試,創建了一個矩陣並使用了「readInts」 - 手動。首先,我想確保程序實際上接收用戶輸入的元素,所以我想打印出第一個矩陣作爲整體(然後進一步,當然)。這包括在此代碼中:2維數組/矩陣的長度
int rows = readInt("Number of rows: ");
int columns = readInt("Number of columns: ");
int [][] m = new int[rows][columns];
int [] elements = readInts("Please type in the elements: ");
for(int = 0; i < m.length; i++) {
print(elements[i], 5);
}
現在,我還不明白的是我如何解釋「m.length」。經過一些測試後,我發現它指的是行數,所以例如當我定義3行並輸入數字1,2,3,4,5時,我只接收到1,2,3 ,所以程序切斷了其餘部分。我猜他實際上應該是指列的數量,所以當我定義m時,我不得不切換[rows]和[columns],但這是違反直覺的,因爲你總是首先命名行數。另外,我不知道遲早會不會出現其他問題。那麼,還有沒有在開始時切換[rows]和[columns]的方法呢?
什麼是'readInt'和'readInts'?這些不是標準的Java方法... – assylias
哦,我不知道。 「readInt」讀取一個整數,而「readInts」讀取多個整數。打印這些元素時,它們從一開始就位於同一行。 – Julian
在繼續之前,您應該知道1件事。在java中,如果你創建了這樣的二維數組,那個數組不一定等價於矩陣。特別是如果你從控制檯逐行填充數組等等。二維數組只是一個數組類型的數組,每個數組的長度可能會不同,如果你不小心。 – halil