2017-03-18 174 views
0

我對JTables的工作沒有經驗,我怎樣才能讓這段代碼共同計算我的列之一的模式?在JTable模型上計算模式

public static int mode(int[] array) { 
    int mode = array[0]; 
    int maxCount = 0; 
    for (int i = 0; i < array.length; i++) { 
     int value = array[i]; 
     int count = 0; 
     for (int j = 0; j < array.length; j++) { 
      if (array[j] == value) count++; 
      if (count > maxCount) { 
       mode = value; 
       maxCount = count; 
      } 
     } 
    } 
    if (maxCount > 1) { 
     return mode; 
    } 
    return 0; 
} 
+0

你的代碼有什麼問題? –

+0

我想看看[如何使用表格](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)和['TableModel'](https:/ JavaDocs) /docs.oracle.com/javase/8/docs/api/javax/swing/table/TableModel.html),請嘗試幾件事,看看它在哪裏。如果你仍然有問題,發佈你已經嘗試過的代碼,我們會看看我們是否可以進一步幫助您 – MadProgrammer

+0

我已經在計算我的模型的最小和最大值,不知何故無法獲得工作模式 –

回答

1

尋找到你的代碼的邏輯,我想,你應該把if條件的內外部for循環,如下圖所示。

public static int mode(int[] array) { 
    int mode = array[0]; 
    int maxCount = 0; 
    for (int i = 0; i < array.length; i++) { 
     int value = array[i]; 
     int count = 0; 
     for (int j = 0; j < array.length; j++) { 
      if (array[j] == value) 
       count++; 
     } 
     if (count > maxCount) { 
      mode = value; 
      maxCount = count; 
     } 
    } 
    if (maxCount > 1) { 
     return mode; 
    } 
    return 0; 
} 

雖然我不確定你到底在找什麼!

+0

是的謝謝! –

+0

什麼即時嘗試:我有一個Jtable模型,我想計算其中一列的模式。 –

+0

好吧,謝謝 –