これは非常に新しいです。エラーが配列にあると確信しています。アドバイスをいただければ幸いです。私はそれを実行すると、文字の等級とクレジット時間を入力することができますが、出力はありません。私のコードにコンパイルエラーはありませんが、出力はありません
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