我对此很新颖。我相信错误是与我的数组。任何建议将不胜感激。当我运行它时,它允许我输入字母等级和信用时间,但是我没有得到任何输出。我的代码没有编译错误,但没有输出
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