我的循环价值被搞砸了

时间:2015-11-18 15:13:40

标签: java loops user-interface jtextarea

我需要帮助我的循环,它只打印最后一行:" 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);

}

2 个答案:

答案 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方法。