我對此很新穎。我相信錯誤是與我的數組。任何建議將不勝感激。當我運行它時,它允許我輸入字母等級和信用時間,但是我沒有得到任何輸出。我的代碼沒有編譯錯誤,但沒有輸出
import java.util.Scanner;
/**
* Calculating gpa
*
* @author Brooklyn
* @version1 11/15/2016
*
*/
public class CalculateGPA {
/**
*
* Entry point for the program javadoc
*
*/
public static void main(String[] args) {
// declare vars
// input: prompt user to enter letter grade and credit hours
System.out.println("What are your letter grades?");
Scanner input = new Scanner(System.in);
String x = input.nextLine();
System.out.println("How many credit hours are you taking?");
int v = input.nextInt();
int[] creditHours = new int[v];
for (int i = 0; i < creditHours.length; i++) {
creditHours[i] = input.nextInt();
}
char[] letterGrade = x.toCharArray();
for (int i = 0; i < letterGrade.length; i++) {
letterGrade[i] = input.next().charAt(i);
}
// Processing: calculate gpa
double gpa = calculateGpa(letterGrade, creditHours);
}
// output: display GPA
// displayGPA(gpa);
/** Method calculates GPA */
public static double calculateGpa(char[] letterGrade, int[] creditHours) {
int totalQuality = 0;
int numericGrade;
double gpa = 0.0;
// double qualityPoint = 4 * creditHours[0];
if (letterGrade.equals("A")) {
numericGrade = 4;
totalQuality += numericGrade;
} else if (letterGrade.equals("B")) {
numericGrade = 3;
totalQuality += numericGrade;
} else if (letterGrade.equals("C")) {
numericGrade = 2;
totalQuality += numericGrade;
} else if (letterGrade.equals("D")) {
numericGrade = 1;
totalQuality += numericGrade;
} else if (letterGrade.equals("F")) {
numericGrade = 0;
totalQuality += numericGrade;
}
int totalHours = creditHours[0];
gpa = totalQuality/totalHours;
return totalQuality/totalHours;
}
public static void displayGPA(double gpa) {
System.out.println("Overall GPA is" + gpa);
}
}
你永遠不會調用'displayGPA'。這是問題。 –
好吧我修好了。我曾經評論過它,因爲我不能讓它運行,但我試圖在主方法之外調用該函數。但是,我仍然沒有得到輸出。 – bkagodwin
請通過調用'displayGPA'來更新您問題中的代碼。 – Tim