2017-11-18 34 views
-5

我不是問每個人說的答案即時通訊問我必須改變什麼,以便打印出一個二維數組的部分,例如如果數組有5行和5列如何我會打印出最後3行和最後3列。如何打印二維數組的一部分

import java.util.Scanner; 

public class multiplication { 
    static int a,b; 
    public static void main(String[] args){ 
    Scanner input = new Scanner(System.in); 
    a =input.nextInt(); 
    b = input.nextInt(); 

int[][] matrix = new int[a][b]; 


matrix = timesTable(a,b); 


for (int row = 0; row < matrix.length; row++) { 
    for (int column = 0; column < matrix[row].length; column++) {  
     System.out.print(" "+matrix[row][column] + "\t|"); 
     } 
     System.out.println(); 
     } 


} 




public static int[][] timesTable(int r, int c) 
{ 
    int [][] yes = new int[c][c]; 
    for (r = 0; r < yes.length ; r++) 
    { 
     for (c = 0; c < yes[r].length; c++) 
     { 

       yes[r][c] = (r+1)*(c+1); 

     } 
      } 


    return yes; 
} 
} 
+0

您希望發生的操作究竟是什麼? – ifly6

+1

你想達到什麼目的?你想輸入什麼以及期望的輸出是什麼?舉一些例子。同時解釋你的代碼的作用,而不是僅僅傾倒它,謝謝。 – Zabuza

+0

你的要求不清楚。 「所以如果我輸入4和4,它會打印出來」它聽起來沒有什麼信息,請重新說明你的要求 –

回答

0
if((row = 0 && col > 1) ||(row > 1 && col != 1)) { 
    //print 
} 

這個邏輯應該適用於你的榜樣。但我不明白你想要做什麼。 你可以嘗試解釋一下你想做什麼嗎?

編輯:你可能想檢查一下。 Oracle documentation使用arraycopy和arraymanipulation的頁面底部

+0

我的意思是我正在製作一張乘法表,我想如何做,而不是打印整個表我想打印的部分,而不是看到1和1 1和2乘以其開始在5和5乘以 –

0

該練習的目標是構建矩陣然後打印矩陣 - 或者 - 您是否只需顯示所需的輸出? 我認爲這是一個班級作業。

提示:想想這個..如果你輸入2 & 5,你想要一個2x5矩陣還是一個4x4矩陣?當你分配你的矩陣大小時,這很重要。

+0

目標是打印矩陣從4x4矩陣開始從2結束於5在兩個列和行 –

+0

你能不能給我解釋一下如何在示例代碼中錯誤地做到這一點 –

+0

@YaMom我明白你想要的輸出。我只是想知道這個練習是否需要你創建一個矩陣然後打印,或者如果你可以做一組nexted循環來顯示輸出。 – robertf