import java.util.Scanner;
public class Admit {
// the main method has minimal dialogue and just calls the other methods with the appropriate parameters.
public static void main(String[] args) {
promptUser();
System.out.println("Information for the first applicant:");
double person1Score = getAllResults();
System.out.println();
System.out.println("Information for the second applicant");
double person2Score = getAllResults();
System.out.println("First applicant's overall score = " + person1Score);
System.out.println("Second applicant's overall score = " + person2Score);
compareScores (person1Score, person2Score);
}
// promptUser() introduces the program and what it's used for.
public static void promptUser() {
System.out.println("This program compares two applicants to");
System.out.println("determine which one seems like the stronger");
System.out.println("applicant. For each candidate I will need");
System.out.println("either SAT or ACT scores plus a weighted GPA.");
System.out.println();
}
// getAllResults() calculates the applicant's overall score to be compared,
// depending on whether the user submitted SAT or ACT scores.
public static double getAllResults() {
Scanner userInput = new Scanner(System.in);
System.out.print("\tDo you have 1) SAT scores, or 2) ACT scores? ");
int testType = userInput.nextInt();
// @var vinalScore is just storing an arbitrary value for now.
double finalScore = 0;
if (testType == 1) {
System.out.print("\tSAT Math? ");
int SATMath = userInput.nextInt();
System.out.print("\tSAT Verbal? ");
int SATVerbal = userInput.nextInt();
System.out.print("\tActual GPA? ");
double yourGPA = userInput.nextDouble();
System.out.print("\tMax GPA? ");
double maxGPA = userInput.nextDouble();
double testScore = calculateSATScore(SATVerbal, SATMath);
double finalGPA = calculateGPA(yourGPA, maxGPA);
finalScore = calculateOverallScore(testScore, finalGPA);
}
else if (testType == 2) {
System.out.print("\tACT English? ");
int ACTEng = userInput.nextInt();
System.out.print("\tACT Math? ");
int ACTMath = userInput.nextInt();
System.out.print("\tACT Reading? ");
int ACTRead = userInput.nextInt();
System.out.print("\tACT Science? ");
int ACTSci = userInput.nextInt();
System.out.print("\tActual GPA? ");
double yourGPA = userInput.nextDouble();
System.out.print("\tMax GPA? ");
double maxGPA = userInput.nextDouble();
double testScore = calculateACTScore(ACTEng, ACTMath, ACTRead, ACTSci);
double finalGPA = calculateGPA(yourGPA, maxGPA);
finalScore = calculateOverallScore(testScore, finalGPA);
}
return finalScore;
}
// calculateSATScore() calculates the overall SAT score taken from getAllResults().
public static double calculateSATScore(int verbal, int math) {
double SATScore = (2 * verbal + math) / 24;
return SATScore;
}
// calculateACTScore() calculates the overall ACT score taken from getAllResults().
public static double calculateACTScore(int eng, int math, int read, int sci) {
double ACTScore = ((2 * read) + eng + math + sci) / 1.8;
return ACTScore;
}
// calculateGPA() calculates the final GPA taken from getAllResults().
public static double calculateGPA(double uGPA, double mGPA) {
double finalGPA = uGPA / mGPA * 100;
return finalGPA;
}
// calculateOverallScore() computes the final scores to be compared, using the
// overall test scores and the final GPA.
public static double calculateOverallScore(double testScore, double GPA) {
double overallScore = testScore + GPA;
return overallScore;
}
// compareScores() compares the overall scores for each applicant and then prints out
// which applicant appears to be the better choice.
public static void compareScores (double person1, double person2) {
if (person1 > person2) {
System.out.println("The first applicant seems to be better.");
}
else {
System.out.println("The second applicant seems to be better.");
}
}
}
我不断收到一条错误消息,提示“Main.java:11: error: class Admit is public, 应该在名为 Admit.java public class Admit {' 的文件中声明