【问题标题】:For loop output in jframejframe中的for循环输出
【发布时间】:2014-07-08 21:43:09
【问题描述】:

这是我的学校作业

编写一个程序: 接受起始值的输入。 接受结束值的输入。 显示这两个值之间的所有整数(包括)。 提示:使用 for 循环,不要忘记将输入从字符串转换为整数。

它写在一个 jFrame 中,它只输出最后一个值,而不是起始值和结束值之间的所有值。我正在使用 netbeans IDE 8.0。

//Variables
int starting, ending;
starting=Integer.parseInt(this.txtStarting.getText());
ending=Integer.parseInt(this.txtEnding.getText());

//for Loop
for(int output=starting; output < ending; output++) {
    String out1 = Integer.toString(output);
    this.lblValues.setText(out1);
}

我不确定出了什么问题。当我System.out.println(output); 时,它会输出我想要的东西。

【问题讨论】:

  • 方法setText 设置文本。它不会附加到现有文本。
  • 将它写到 JTextArea 中,通过myTextArea.append(out1 + "\n"); 附加文本
  • 如何在 jLabel 中添加正确的文本?
  • 不要使用 JLABEL。同样,使用 JTextArea。

标签: java swing for-loop jframe


【解决方案1】:

当您调用 setText() 时,您正在设置 JLabel 中的文本(我假设这是 lblValues 的类型)。不存储以前的值。您可以通过附加到字符串然后在末尾设置文本来解决此问题:

String out1 = "";
for(int output=starting; output <= ending; output++) {
    out1 = out1 + " " + Integer.toString(output);
}
this.lblValues.setText (out1);

还要注意,你需要输出

【讨论】:

  • 使用string builder,因为你正在制造一个大的性能问题。
猜你喜欢
  • 2013-05-20
  • 2017-05-14
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
相关资源
最近更新 更多