1:求某年最好成绩
2:求某年的平均成绩
3:求所有年份最好成绩
4:求某门课历年最好成绩
package base;
import java.util.Scanner;
public class comprehensive {
public static void main(String[] args) {
//定义课程数组
int maxScoreCount = 6;
String[] scoreNames = new String[maxScoreCount];
scoreNames[0] = "语文";
scoreNames[1] = "数学";
scoreNames[2] = "英语";
scoreNames[3] = "物理";
scoreNames[4] = "化学";
scoreNames[5] = "生物";
Scanner in = new Scanner(System.in);
System.out.println("请输入要保存多少年的成绩:");
int yearCount = in.nextInt();
//年份、课程多维数组
double[][] scores = new double[yearCount][scoreNames.length];
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scoreNames.length; j++) {
scores[i][j] = 80 + Math.random() * 20;
System.out.println("第" + (i + 1) + "年" + scoreNames[j] + "成绩为:" + scores[i][j]);
}
}
//循环
boolean count = true;
while (count) {
System.out.println("请输入要进行的操作编号");
System.out.println("1:求某年最好成绩n" +
"2:求某年的平均成绩n" +
"3:求所有年份最好成绩n" +
"4:求某门课历年最好成绩"
);
int oprtId = in.nextInt();
//switch判断
int year = 0;
switch (oprtId) {
case 1:
System.out.println("请输入查看哪一年的最好成绩");
year = in.nextInt() - 1;
if (year < 0 || year >= yearCount) {
System.out.println("非法的年份");
break;
}
int bestOfYearScoreId = 0;
for (int i = 0; i < scores[year].length; i++) {
if (scores[year][bestOfYearScoreId] < scores[year][i]) {
bestOfYearScoreId = i;
}
}
System.out.println("第" + (year + 1) + "年,最好的成绩是" + scoreNames[bestOfYearScoreId] + ",分数是:" + scores[year][bestOfYearScoreId]);
break;
case 2:
System.out.println("请输入查看哪一年的平均成绩");
year = in.nextInt() - 1;
if (year < 0 || year >= yearCount) {
System.out.println("非法的年份");
break;
}
double totalScore = 0;
for (int i = 0; i < scores[year].length; i++) {
totalScore += scores[year][i];
}
System.out.println("第" + (year + 1) + "年的平均成绩为" + totalScore / scoreNames.length);
break;
case 3:
int bestOfYearsScoreId = 0;
year = 0;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores[i].length; j++) {
if (scores[year][bestOfYearsScoreId] < scores[i][j]) {
year = i;
bestOfYearsScoreId = j;
}
}
}
System.out.println("历年最好成绩为第" + (year + 1) + "年的" + scoreNames[bestOfYearsScoreId] + ",分数为:" + scores[year][bestOfYearsScoreId]);
break;
case 4:
System.out.println("请问要查询某门课的历年最好成绩:");
int scoreId = in.nextInt();
year = 0;
for (int i = 0; i < scores.length; i++) {
if (scores[year][scoreId] < scores[i][scoreId]) {
year = i;
}
}
System.out.println(scoreNames[scoreId] + "历年最好成绩为第" + year + "年,分数是:" + scores[year][scoreId]);
break;
default:
System.out.println("程序结束。");
count = false;
}
}
}
}
执行结果如下:
"C:Program FilesJavajdk1.8.0_291binjava.exe" "-javaagent:F:Program FilesJetBrainsIntelliJ IDEA 2020.2.4libidea_rt.jar=61021:F:Program FilesJetBrainsIntelliJ IDEA 2020.2.4bin" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.8.0_291jrelibcharsets.jar;C:Program FilesJavajdk1.8.0_291jrelibdeploy.jar;C:Program FilesJavajdk1.8.0_291jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.8.0_291jrelibextcldrdata.jar;C:Program FilesJavajdk1.8.0_291jrelibextdnsns.jar;C:Program FilesJavajdk1.8.0_291jrelibextjaccess.jar;C:Program FilesJavajdk1.8.0_291jrelibextjfxrt.jar;C:Program FilesJavajdk1.8.0_291jrelibextlocaledata.jar;C:Program FilesJavajdk1.8.0_291jrelibextnashorn.jar;C:Program FilesJavajdk1.8.0_291jrelibextsunec.jar;C:Program FilesJavajdk1.8.0_291jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.8.0_291jrelibextsunmscapi.jar;C:Program FilesJavajdk1.8.0_291jrelibextsunpkcs11.jar;C:Program FilesJavajdk1.8.0_291jrelibextzipfs.jar;C:Program FilesJavajdk1.8.0_291jrelibjavaws.jar;C:Program FilesJavajdk1.8.0_291jrelibjce.jar;C:Program FilesJavajdk1.8.0_291jrelibjfr.jar;C:Program FilesJavajdk1.8.0_291jrelibjfxswt.jar;C:Program FilesJavajdk1.8.0_291jrelibjsse.jar;C:Program FilesJavajdk1.8.0_291jrelibmanagement-agent.jar;C:Program FilesJavajdk1.8.0_291jrelibplugin.jar;C:Program FilesJavajdk1.8.0_291jrelibresources.jar;C:Program FilesJavajdk1.8.0_291jrelibrt.jar;C:UsersnieyayunIdeaProjectsjavaTestoutproductionjavaTest" base.comprehensive 请输入要保存多少年的成绩: 9 第1年语文成绩为:80.60717982905096 第1年数学成绩为:92.15531179277069 第1年英语成绩为:88.88493076023923 第1年物理成绩为:88.09462137477756 第1年化学成绩为:86.06620276833559 第1年生物成绩为:83.2980564450549 第2年语文成绩为:92.77789445146885 第2年数学成绩为:81.44077871949064 第2年英语成绩为:98.31588868631087 第2年物理成绩为:82.9898920160812 第2年化学成绩为:86.27586971310751 第2年生物成绩为:82.70643669087784 第3年语文成绩为:90.93140127965997 第3年数学成绩为:80.46116877262466 第3年英语成绩为:81.70469257523361 第3年物理成绩为:80.94368191685139 第3年化学成绩为:85.28869846371849 第3年生物成绩为:86.05192924800397 第4年语文成绩为:87.89675451280685 第4年数学成绩为:89.03795297665513 第4年英语成绩为:94.69488277105182 第4年物理成绩为:92.34400381798402 第4年化学成绩为:90.98174404861915 第4年生物成绩为:84.79192481563543 第5年语文成绩为:96.70399422971622 第5年数学成绩为:89.50104558701133 第5年英语成绩为:99.32505596539434 第5年物理成绩为:85.53160859151679 第5年化学成绩为:82.1100697527657 第5年生物成绩为:85.52023371726531 第6年语文成绩为:98.06857419986038 第6年数学成绩为:93.0419000909798 第6年英语成绩为:91.9413201287421 第6年物理成绩为:89.46266411537876 第6年化学成绩为:81.87307070003746 第6年生物成绩为:85.81461985206533 第7年语文成绩为:82.23630683094024 第7年数学成绩为:93.71772631134442 第7年英语成绩为:93.23100116615672 第7年物理成绩为:96.39285652247624 第7年化学成绩为:90.46503665722143 第7年生物成绩为:99.9700440637563 第8年语文成绩为:88.11299433357375 第8年数学成绩为:93.0212030362092 第8年英语成绩为:97.1649210491503 第8年物理成绩为:92.77583977152756 第8年化学成绩为:80.73088091718098 第8年生物成绩为:86.862270947755 第9年语文成绩为:81.69357060739011 第9年数学成绩为:94.51886618435051 第9年英语成绩为:84.84462297581166 第9年物理成绩为:88.71562927226282 第9年化学成绩为:81.95744511205231 第9年生物成绩为:96.00432751997688 请输入要进行的操作编号 1:求某年最好成绩 2:求某年的平均成绩 3:求所有年份最好成绩 4:求某门课历年最好成绩 1 请输入查看哪一年的最好成绩 3 第3年,最好的成绩是语文,分数是:90.93140127965997 请输入要进行的操作编号 1:求某年最好成绩 2:求某年的平均成绩 3:求所有年份最好成绩 4:求某门课历年最好成绩 2 请输入查看哪一年的平均成绩 4 第4年的平均成绩为89.9578771571254 请输入要进行的操作编号 1:求某年最好成绩 2:求某年的平均成绩 3:求所有年份最好成绩 4:求某门课历年最好成绩 3 历年最好成绩为第7年的生物,分数为:99.9700440637563 请输入要进行的操作编号 1:求某年最好成绩 2:求某年的平均成绩 3:求所有年份最好成绩 4:求某门课历年最好成绩 4 请问要查询某门课的历年最好成绩: 2 英语历年最好成绩为第4年,分数是:99.32505596539434 请输入要进行的操作编号 1:求某年最好成绩 2:求某年的平均成绩 3:求所有年份最好成绩 4:求某门课历年最好成绩 0 程序结束。 Process finished with exit code 0



