2016-03-02 40 views
1

我希望我的直方圖顯示這樣直方圖是倒掛

example

,但我把它倒過來這樣

example2

這是我的代碼。

public void printHistogram() { 
    System.out.println("Print histogram"); 
    histogram = new boolean[4][6]; 
    int[] lengthTemp = numberEach(numbers); 

    for (int u = 0; u < 4; u++) { 
     for (int m = 0; m < 6; m++) { 
      if (lengthTemp[m] >= 1) { 
       histogram[u][m] = true; 
       lengthTempk[m] -= 1; 
      } 
     } 
    } 

    for (int s1 = 0; s1 < 4; s1++) { 
     for (int s2 = 0; s2 < 6; s2++) { 
      if (histogram[s1][s2]) { 
       System.out.print("*\t"); 
      } else { 
       System.out.print(" \t"); 
      } 
     } 
     System.out.println(""); 
    } 
} 

我一直試圖扭轉它,但我從來沒有得到它的權利。我發現你只需要將它轉換到中間位置,但我無法弄清楚。

陣列直方圖中的每個真實代表一顆恆星。

回答

2

在數組histogram的第一維中,第一個索引0首先打印在直方圖的頂部,而不是底部。

爲了讓您的打印輸出正確打印,從第一維的末尾打印s1,而不是開始。從二維數組長度減去s1。更改您的s1 for循環以反向迭代。

for (int s1 = 0; s1 < 4; s1++) { 

for (int s1 = 3; s1 >= 0; s1--) { 
1

扭轉陣列的讀出:

for (int s1 = 3; s1 >= 0; s1--) { 
    ... 
}