簡體   English   中英

使用二維數組創建和打印乘法表?

[英]Creating and printing a multiplication table using a two dimensional arrays?

我正在嘗試使用二維數組創建12x12次表圖表。 我嘗試了以下代碼來實際創建數組:

    int[][] table = new int[12][12];

    for (int row=0; row<12; row++){
      for (int col=0; col<12; col++){
        table[row][col] = row+1 * col+1;

      }
    }

現在我還不太清楚如何正確顯示它,我嘗試了一下:

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

這給出了一個12x12的表,但是沒有進行乘法運算,該12x12點(網格中第12列第12行)是23而不是144,這現在讓我認為實際的數組是錯誤的。 有任何想法嗎?

在數學陳述式中使用括號。 知道乘法優先於加法。

所以你的代碼行:

table[row][col] = row+1 * col+1;

相當於

table[row][col] = row + (1 * col) + 1;

這不是您想要的。 你要:

table[row][col] = (row + 1) * (col + 1);

String.format(...) ,考慮使用String.format(...)System.out.printf(...)來格式化輸出,因為它比使用制表符\\t更強大和靈活。 另外,在游戲中你的舞台,你應該附上如果所有塊和所有環路內{...}大括號,因為這會節省你的尾巴在稍后的日期。

例如,

  for (int row = 0; row < table.length; row++) {
     for (int col = 0; col < table[row].length; col++) {
        System.out.printf("%6d", table[row][col]);
     }
     System.out.println();
  }

或者如果您希望輸出權正確,請將"%6d"更改為"%-6d"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM