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)