用Java语言编写完成你上学期自己个人所有课程的成绩处理,同时也为本学期所有课程设定目标成绩,并进行处理。功能由自已分析来确定,如分别两学期总分、平均分、绩点、最好科目、科目数,以及大学一年级你将完成学业的情况,总绩点数、优势和不足科目等相关信息。
要求:定义类的成员务必完善,功能齐全,不使用类的继承、组合等知识。主类和其它类分开独立文件。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Score {
private Map<String, Double> scoreDict;
public Score() {
this.scoreDict = new HashMap<String, Double>();
}
public Score(Map<String, Double> scoreDict) {
this.scoreDict = scoreDict;
}
public void setScore(String subject, double score) {
scoreDict.put(subject, score);
}
public double getScore(String subject) {
return scoreDict.get(subject);
}
public double getAverageScore() {
double totalScore = 0.0;
int subjectCount = scoreDict.size();
for (String subject : scoreDict.keySet()) {
totalScore += scoreDict.get(subject);
}
return totalScore / subjectCount;
}
public double getTotalScore() {
double totalScore = 0.0;
for (String subject : scoreDict.keySet()) {
totalScore += scoreDict.get(subject);
}
return totalScore;
}
public String getHighestScoreSubject() {
double highestScore = 0.0;
String highestScoreSubject = "";
for (String subject : scoreDict.keySet()) {
if (scoreDict.get(subject) > highestScore) {
highestScore = scoreDict.get(subject);
highestScoreSubject = subject;
}
}
return highestScoreSubject;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Score score = new Score();
// 输入每一科科目和成绩
System.out.println("请输入科目和成绩:");
while (scanner.hasNext()
{
score.add((scanner.next(), (scanner.nextDouble());
}
}
}