Why does this code segment only print out 0 in the JLabel?

Danyboy :

How can I fix this code segment so that it prints the numbers I input with commas? Example input: 1234, Expected result: 1,2,3,4 .

This code works in a normal file on Netbeans but I am having trouble changing it to fit into a GUI. When I run it it just displays zero on the result JLabel. I can seem to find any method that can help me with this.

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));
    }
}
Eran :

You should store the result somewhere in order to set the text later.

For example, you can store the characters in a 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());
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=327408&siteId=1