-1
我想了解代碼的不同部分,但我需要在此處尋求個人幫助。所以這裏是我的問題:我正在爲我的第一個Java編程類構建一個簡單的平均等級程序。我想保存4級輸入,然後顯示平均值。最終我會根據平均值顯示字母等級。我認爲這個錯誤是說我沒有初始化finalGrade。初學Java:簡單等級平均代碼
但我迷路了。對發生的事情的解釋會很棒,所以我可以真正瞭解這一點。
import java.util.Scanner;
import javax.swing.JOptionPane;
public class GradeAverage{
public static Double gradeQ1; //gradeQ are grades for the respective quarters
public static Double gradeQ2;
public static Double gradeQ3;
public static Double gradeQ4;
public static String studentName;
public static Double finalGrade = ((gradeQ1 + gradeQ2 + gradeQ3 + gradeQ4)/4);
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
studentName = JOptionPane.showInputDialog(null, "Please enter your first and last name.");
JOptionPane.showMessageDialog(null, "Thanks " + studentName + ", let's get started!");
gradeQ1 = Double.parseDouble(JOptionPane.showInputDialog(null, "What was your grade in the first quarter?")); // gets grade and saves it as a double gradeQ1
JOptionPane.showMessageDialog(null, "You entered " + gradeQ1);
//double gradeQ1 = input.nextDouble();
gradeQ2 = Double.parseDouble(JOptionPane.showInputDialog(null, "What was your grade in the second quarter?"));
JOptionPane.showMessageDialog(null, "You entered " + gradeQ2);
gradeQ3 = Double.parseDouble(JOptionPane.showInputDialog(null, "What was your grade in the third quarter?"));
JOptionPane.showMessageDialog(null, "You entered " + gradeQ3);
gradeQ4 = Double.parseDouble(JOptionPane.showInputDialog(null, "What was your grade in the fourth quarter?"));
JOptionPane.showMessageDialog(null, "You entered " + gradeQ4);
JOptionPane.showMessageDialog(null, "Thanks " + studentName + ", Your average was " + finalGrade);
}
}
JGRASP error:
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at GradeAverage.<clinit>(GradeAverage.java:15)
右鍵 - 您需要了解Double對象和Double對象之間的區別。作爲一個初學者,你犯了太多擔心用戶界面的經典錯誤。我將首先使用文本界面進行等級計算。 – duffymo
難道我不會有同樣的問題?我只是認爲使用對話框而不是命令行更容易。計算很簡單:總和/計數。執行是什麼在殺我 –
這裏是你的錯誤public static Double finalGrade =((gradeQ1 + gradeQ2 + gradeQ3 + gradeQ4)/ 4);.在這個階段,等級還沒有初始化。他們的全部等於空... – 2017-02-04 03:30:09