为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个代码段在 JLabel 中只打印出 0?

为什么这个代码段在 JLabel 中只打印出 0?

慕哥9229398 2022-12-28 16:06:53
我怎样才能修复这个代码段,以便它打印我用逗号输入的数字?示例输入:1234,预期结果:1,2,3,4。此代码在 Netbeans 上的普通文件中有效,但我无法更改它以适应 GUI。当我运行它时,它只在结果上显示零JLabel。我似乎可以找到任何可以帮助我解决这个问题的方法。private void jButton1ActionPerformed(ActionEvent evt) {     Stack stack = new Stack();    int number = (int) (Integer.parseInt(jTextField1.getText()));    while (number > 0) {        stack.push(number % 10);        number = number / 10;    }    while (!stack.empty()) {        System.out.print(stack.pop());        if (!stack.empty()) {            System.out.print(",");        }        jLabel2.setText(String.valueOf(number));    }}
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

您应该将结果存储在某处以便稍后设置文本。


例如,您可以将字符存储在StringBuilder:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   

    Stack stack = new Stack();

    int number = (int) (Integer.parseInt(jTextField1.getText()));

    while (number > 0) {

        stack.push(number % 10);

        number = number / 10;

    }

    StringBuilder sb = new StringBuilder();

    while (!stack.empty()) {

        sb.append(stack.pop());

        if (!stack.empty()) {

            sb.append(",");

        }

    }

    jLabel2.setText(sb.toString());

}


查看完整回答
反对 回复 2022-12-28
?
FFIVE

TA贡献1797条经验 获得超6个赞

您将 jlabel 的文本始终设置为零,因为此时“数字”将始终为零。但是您将数字序列打印到控制台。您可能想将它们连接成一个字符串并相应地设置 jlabel 的文本。您可以像这样使用 StringBuilder:


StringBuilder sb = new StringBuilder();

while (!stack.empty()) {

    sb.append(stack.pop());


    if (!stack.empty()) {

        sb.append(", ");

    }


    jLabel2.setText(sb.toString())

}


查看完整回答
反对 回复 2022-12-28
?
梦里花落0921

TA贡献1772条经验 获得超6个赞

问题是您在number标签上打印的值。那时 number 总是等于0。您想要的是打印堆栈中的值。例子:


StringBuilder out = new StringBuilder();

while (!stack.empty()) 

{

    out.append( stack.pop());


    if (!stack.empty()) 

    {

        out.append(",");

    }

}


jLabel2.setText(out.toString());


查看完整回答
反对 回复 2022-12-28
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号