2009-11-25 77 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类上,如果您需要进一步的帮助,您可能需要发布它。

相关问题