我坚持使用我想要做的这些代码。我有一个程序,我在Netbeans工作,主要的java表单和一个像弹出窗口一样的JFrame。框架上有一个按钮,用于打印我在主要内容中放入Getter方法的值。一旦我运行程序并单击程序崩溃的按钮,代码中没有错误,这就是我得到的:
"Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException:
empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)"
这是我的主要代码:`
public void Iva(){
float tiv = Float.parseFloat(tiva); // tiva is a global, String type variable
if("Papeleria".equals(tiva)){
iva = (float) (tiv*0.16); // iva is a global Float type variable
}
if("Supermercado".equals(tiva)){
iva = (float) (tiv*0.12);
}
if("Supermercado".equals(tiva)){
iva = (float) (tiv*0.14);
}
ivi = Float.toString(iva); // ivi is a global, String type variable
}
public String getIva() {
Iva();
return ivi;
}
这就是我在Frame中为ActionPerformed所获得的:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
/*taiva is the text area where i want to show iva
mainy is what i called the main's class*/
taiva.setText(mainy.getIva());
}
答案 0 :(得分:0)
你的程序在这行代码上失败了:
tiva
您正在尝试解析一个空字符串NumberFormatException
),这会导致float tiv = 0;
if (!tiva.isEmpty()) {
tiv = Float.parseFloat(tiva);
} else {
tiv = 0;
}
。
您可以使用if语句来避免此问题,如下所示:
{{1}}
希望这会有所帮助;)