我正在编写一个简单的 Java 应用程序,其中用户提供两个输入;起始编号和结束编号。单击按钮后,应用程序应在屏幕上显示起始数字和结束数字之间的所有数字。
例如。 (1 2 3 4 5) 如果 starting = 1
且 ending = 5
这是我用来输出数字的循环
Int starting = 1;
Int ending = 5;
for(starting; starting <= ending; starting++){
//"Output" is a JLabel object
Output.setText(starting);
}
我希望这会将 Output
的内容设置为 1 2 3 4 5
。尽管到循环结束时,Output
的内容只是序列中的最后一个数字(本例中为 5)。
有人可以解释一下为什么我会看到这种行为吗?
最佳答案
您在每次迭代中都会覆盖 JLabel 中的文本。这就是 JLabel 始终显示最后一个数字的原因。
将所有整数连接到一个字符串中,然后在循环完成后,将 JLabel 的文本设置为连接的字符串。
String result = "";
for (int starting = Integer.parseInt(Start.getText()); starting <= ending; starting++){
result += starting;
}
output.setText(result);
顺便说一句:您有语法错误。
关于java - 将 JLabel 文本设置为数字循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346626/