2009-11-25 108 views
-1

我有一張桌子。在第一列。我有學生的名字,比如「Esfandyar Talebi」和「Arash Nouri」;行數可以改變。 只有2行從4行中填充。這段代碼爲什麼會產生意想不到的輸出?

我寫的代碼:

List<String> professorsName = new ArrayList<String>(); 
for(int i = 0; i < InformationTable.getRowCount(); i++) { 
    professorsName.add((String) InformationTable.getValueAt(i, 0)); 
    System.out.println(professorsName.toString()); 
} 

但是,這是輸出:

[Esfandyar塔利比]

[Esfandyar塔利比,Arash的努裏]

[ Esfandyar Talebi,Arash Nouri,null]

[Esfandyar塔利比,Arash的努裏,NULL,NULL]

[Esfandyar塔利比,Arash的努裏,NULL,NULL,NULL]

[Esfandyar塔利比,Arash的努裏,NULL,NULL,NULL,NULL]

+0

是InformationTable.getRowCount()== 6? – 2009-11-25 12:46:38

+0

沒有這個表只有4行。 – Johanna 2009-11-25 12:50:59

回答

1

顯然你InformationTable.getValueAt(i, 0)回報nulli一定值。你必須看看你的表模型

1

InformationTable中可能有6行。你可能首先要請檢查是否電池已經充滿了一個名字:

List<String> professorsNames = new ArrayList<String>(); 
for(int i = 0; i < InformationTable.getRowCount(); i++) { 
    String name = (String) InformationTable.getValueAt(i, 0); 
    if (name != null && name.trim().length() != 0) { 
     professorsNames.add(name); 
     System.out.println("Adding: " + name); 
    } else { 
     System.out.println("Refusing: " + name); 
    } 
} 

System.out.println("Found: " + professorsNames.toString()); 
1

沒有什麼奇怪的與您發佈的環......它可以運行多次,價值InformationTable.getRowCount()方法返回,似乎是六。所以問題可能發生在InformationTable類上,如果您需要進一步的幫助,您可能需要發佈它。

相關問題