当我尝试编译程序时,它编译成功。但是当我执行程序时,这是我在命令提示符下收到的输出
线程“主”中的异常java.lang.NullPointerException 在java.base / jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838) 在java.base / jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122) 在java.base / java.lang.Float.parseFloat(Float.java:455) 在grade.main(grade.java:9)
import javax.swing.JOptionPane;
class grade{
public static void main(String[] args){
String engmark=null;
String mathmark=null;
String sstmark=null;
String scimark=null;
String compmark=null;
float sc=Float.parseFloat(scimark);
float en=Float.parseFloat(engmark);
float ss=Float.parseFloat(sstmark);
float mt=Float.parseFloat(mathmark);
float co=Float.parseFloat(compmark);
float totmark= sc+en+ss+co+mt;
String response;
response= JOptionPane.showInputDialog("Enter the maximum marks of each subject : ");
if (response==null){JOptionPane.showMessageDialog(null,"You clicked on the cancel button.");
System.exit(0);
}
else
if (response.equals("")){JOptionPane.showMessageDialog(null,"You must make an entry in the input box");
System.exit(0);
}
else
engmark= JOptionPane.showInputDialog(null,"Enter the marks obtained in english :");
if (engmark==null){JOptionPane.showMessageDialog(null,"You clicked on the cancel button.");
System.exit(0);
}
else
if (engmark.equals("")){JOptionPane.showMessageDialog(null,"You must make an entry in the input box");
System.exit(0);
}
else
mathmark= JOptionPane.showInputDialog(null,"Enter the marks obtained in mathematics :");
if (mathmark==null){JOptionPane.showMessageDialog(null,"You clicked on the cancel button.");
System.exit(0);
}
else
if (mathmark.equals("")){JOptionPane.showMessageDialog(null,"You must make an entry in the input box");
System.exit(0);
}
else
scimark= JOptionPane.showInputDialog(null,"Enter the marks obtained in science :");
if (scimark==null){JOptionPane.showMessageDialog(null,"You clicked on the cancel button.");
System.exit(0);
}
else
if (scimark.equals("")){JOptionPane.showMessageDialog(null,"You must make an entry in the input box");
System.exit(0);
}
else
sstmark= JOptionPane.showInputDialog(null,"Enter the marks obtained in S.st. :");
if (sstmark==null){JOptionPane.showMessageDialog(null,"You clicked on the cancel button.");
System.exit(0);
}
else
if (sstmark.equals("")){JOptionPane.showMessageDialog(null,"You must make an entry in the input box");
System.exit(0);
}
else
compmark= JOptionPane.showInputDialog(null,"Enter the marks obtained in computer :");
if (compmark==null){JOptionPane.showMessageDialog(null,"You clicked on the cancel button.");
System.exit(0);
}
else
if (compmark.equals("")){JOptionPane.showMessageDialog(null,"You must make an entry in the input box");
System.exit(0);
}
else
JOptionPane.showMessageDialog(null,"Your total marks is :" + totmark);
}
}
答案 0 :(得分:0)
您的代码在float sc=Float.parseFloat(scimark);
处炸毁,原因是scimark
为空。将其更改为其他内容,并将其余部分更改为没有null
作为parseFloat
的参数。