Java 为什么我会得到一个“;数字格式例外情况;?

Java 为什么我会得到一个“;数字格式例外情况;?,java,swing,number-formatting,Java,Swing,Number Formatting,我有这段代码,里面有一个将二进制转换成十进制的函数。它将JTextArea的文本设置为结果,并将结果附加到不同的JTextArea。前者工作正常,但后者导致出现上述异常。下面是我的代码。请帮忙 JButton numerical = new JButton("BIN->NUM"); numerical.setFont(small); numerical.addActionListener(new ActionListener() { public void

我有这段代码,里面有一个将二进制转换成十进制的函数。它将JTextArea的文本设置为结果,并将结果附加到不同的JTextArea。前者工作正常,但后者导致出现上述异常。下面是我的代码。请帮忙

JButton numerical = new JButton("BIN->NUM");
    numerical.setFont(small);
    numerical.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            Display.setText(String.valueOf(Integer.parseInt(Display.getText(), 2)));
            try {
                Memory.append(String.valueOf(Integer.parseInt(Display.getText(), 2))); 
                Memory.append("\n");
            } catch (Exception ie) {
                Memory.append(String.valueOf(Integer.parseInt(Display.getText(), 2)));
            }
        }
    });

正如你所说,第一个很好用。此时

Display.setText(String.valueOf(Integer.parseInt(Display.getText(), 2)));
parseInt()
的输入值为二进制格式,转换工作正常。但是,
setText()
将该二进制值替换为十进制等效值。那么当你尝试

Memory.append(String.valueOf(Integer.parseInt(Display.getText(), 2))); 

数字为十进制格式,第二次转换失败,因为您指定了基数2,并且它希望数字为二进制。

提供stacktrace pleaseQuestions请求调试帮助(“此代码为什么不工作?”)必须包括所需的行为,一个特定的问题或错误,以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者来说是没有用处的