1:求某年最好成绩
2:求某年的平均成绩
3:求所有年份最好成绩
4:求某门课历年最好成绩
package base;
import java.util.Scanner;
public class comprehensive {
public static void main(String[] args) {
/*if、循环、数组等综合练习*/
//定义课程数组
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 Files\Java\jdk1.8.0_291\bin\java.exe" "-javaagent:F:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\lib\idea_rt.jar=61021:F:\Program Files\JetBrains\IntelliJ IDEA 2020.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_291\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_291\jre\lib\rt.jar;C:\Users\nieyayun\IdeaProjects\javaTest\out\production\javaTest" 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