我需要帮助我的循环,它只打印最后一行:" Froakie"在textArea中,我已尝试过其他方法,请帮忙。 :)代码应该将每个Pokemon状态打印到textArea中,但是,它只会将它作为Froakie的数据输入。
String[][] firstevolutiondata = {
{"Pikachu", "Electric", "1", "Kanto", "Yellow", "35", "55", "90", "40", "Thunderstone", "1"},
{"Charmander", "Fire", "1", "Kanto", "Red, Blue, Green, Fire Red, Leaf Green", "39", "52", "65", "43", "Level 16", "1"},
{"Bulbasaur", "Grass", "1", "Kanto", "Red, Blue, Green, Fire Red, Leaf Green", "45", "49", "45", "49", "Level 16", "1"}
};
private static void printstats(int n, int x, String texts, String[] columnNames, String [][] firstevolutiondata) {
n = 0;
while ( n < 10 ) {
texts = texts + columnNames[n] + " : " + firstevolutiondata[x][n] + " \n";
textArea.setText(texts);
n++;
}
texts = texts + "\n";
textArea.setText(texts);
texts = texts + "\n";
textArea.setText(texts);
}
答案 0 :(得分:0)
问题是您在setText()
方法中使用printStats
。使用append()
(link)或在while循环下移动textArea.setText(texts);
。
答案 1 :(得分:0)
嗯,首先,你的课程线路太多了。您可以使用一些循环来构建变量并将变量存储在任何结构中(List,Set ...),从而保护大量行并提高可读性。
就你的问题而言,问题在于:
while ( n < 10 ) {
texts = texts + columnNames[n] + " : " + firstevolutiondata[x][n] + " \n";
textArea.setText(texts);
}
每次循环执行迭代时,您都在textArea
对象内设置一个值。使用append而不是setter方法。