Java 转换错误。parseInt似乎没有转换我的文本值

Java 转换错误。parseInt似乎没有转换我的文本值,java,Java,非常感谢您的帮助。每次尝试运行以下代码时,我都会收到一条错误消息: bt36.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ String amt=scr.getText(); int intAmt = Integer.parseInt(amt);

非常感谢您的帮助。每次尝试运行以下代码时,我都会收到一条错误消息:

        bt36.addActionListener(new ActionListener(){
        @Override
        public void actionPerformed(ActionEvent e){
            String amt=scr.getText();
            int intAmt = Integer.parseInt(amt);
            String bal=a.substring(a.lastIndexOf(" ") + 1);
            int intBal = Integer.parseInt(bal);
            int remBal;

            if ((intBal-intAmt)<0){
                JOptionPane.showMessageDialog(null, "insuffiecient funds, try a lower amount");   
            }
            else{
                remBal=intBal-intAmt;
                data3.setText("Withdrawl succesful, remaining balance: "+remBal);
            }
        }
    });

您确定错误在此块内吗?到目前为止,唯一突出的是使用了
txt
txt2
,这是故意的吗?是的,使用txt和txt2是故意的。我把代码换成了错误实际所在的位置。现在有什么建议吗?变量a在哪里声明和填充?你确定bal里有东西吗?传递给Integer.parseInt()方法的字符串中是否有美元符号、逗号、空格或任何非数字字符。如果传递给Integer.parseInt()方法的a字符串包含任何字母字符(非数字)或为null或null字符串(“”),则该方法将引发此异常。我怀疑bal包含一个空字符串(“”),如异常所示。您的代码需要针对这些情况进行测试
if(bal.matches(“\\d+){….}
Sorry…它可能是:
int intBal=bal.matches(\\d+”)?Integer.parseInt(bal):0;
。这个例子使用了.oh,好的。谢谢DeviceHnd
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)