运行截图:
源代码(注:从Eclipse复制过来时丢失了所有缩进):
(1)ScoreInforemation.java:
//信1805-2 20183562 秦孚瑞 class ScoreInformation { private String stunumber = null; private String name = null; private double mathematicsscore = 0.0; private double englishscore = 0.0; private double networkscore = 0.0; private double databasescore = 0.0; private double softwarescore = 0.0; public void setStuNumber(String ipt) { stunumber = ipt; } public void setName(String ipt) { name = ipt; } public void setMathematicsScore(double ipt) { mathematicsscore = ipt; } public void setEnglishScore(double ipt) { englishscore = ipt; } public void setNetworkScore(double ipt) { networkscore = ipt; } public void setDatabaseScore(double ipt) { databasescore = ipt; } public void setSoftwareScore(double ipt) { softwarescore = ipt; } public String getStuNumber() { return stunumber; } public String getName() { return name; } public double getMathematicsScore() { return mathematicsscore; } public double getEnglishScore() { return englishscore; } public double getNetworkScore() { return networkscore; } public double getDatabaseScore() { return databasescore; } public double getSoftwareScore() { return softwarescore; } }
(2)ScoreManagement.java:
//信1805-2 20183562 秦孚瑞 import java.util.Scanner; public class ScoreManagement { public static void main(String[] args) { int flag = 0; int nSelect = 0; String SSelect = null; int i = 0; double d1T = 0.0; double d2T = 0.0; double d3T = 0.0; double d4T = 0.0; double d5T = 0.0; double dT = 0.0; String S1T = null; String S2T = null; UserInterface UI = new UserInterface(); Scanner ipt = new Scanner(System.in); ScoreInformation[] ary = new ScoreInformation[5]; ary[0] = new ScoreInformation(); ary[1] = new ScoreInformation(); ary[2] = new ScoreInformation(); ary[3] = new ScoreInformation(); ary[4] = new ScoreInformation(); ary[0].setStuNumber("20183562"); ary[0].setName("秦孚瑞"); ary[1].setStuNumber("20183563"); ary[1].setName("甲"); ary[2].setStuNumber("20183564"); ary[2].setName("乙"); ary[3].setStuNumber("20183565"); ary[3].setName("丙"); ary[4].setStuNumber("20183566"); ary[4].setName("丁"); while (nSelect != 4) { UI.prime(); nSelect = ipt.nextInt(); ipt.nextLine(); if (nSelect == 1) { flag = 0; while (flag != 1) { UI.sel10(); S1T = ipt.nextLine(); for (i = 0; i < ary.length; i++) { if (S1T.equals(ary[i].getStuNumber())) { flag = 1; break; } } if (flag == 0) { UI.numEro(); } else { UI.sel11(ary[i]); d1T = ipt.nextFloat(); ipt.nextLine(); UI.sel12(ary[i]); d2T = ipt.nextFloat(); ipt.nextLine(); UI.sel13(ary[i]); d3T = ipt.nextFloat(); ipt.nextLine(); UI.sel14(ary[i]); d4T = ipt.nextFloat(); ipt.nextLine(); UI.sel15(ary[i]); d5T = ipt.nextFloat(); ipt.nextLine(); UI.sel160(ary[i]); System.out.printf(" 高等数学成绩:%.1f\n", d1T); System.out.printf(" 大学英语成绩:%.1f\n", d2T); System.out.printf(" 计算机网络成绩:%.1f\n", d3T); System.out.printf(" 数据库成绩:%.1f\n", d4T); System.out.printf(" 软件工程成绩:%.1f\n", d5T); UI.sel161(); SSelect = ipt.nextLine(); if (SSelect.equals("Y")) { ary[i].setMathematicsScore(d1T); ary[i].setEnglishScore(d2T); ary[i].setNetworkScore(d3T); ary[i].setDatabaseScore(d4T); ary[i].setSoftwareScore(d5T); } else { flag = 0; } } } } else if (nSelect == 2) { flag = 0; while (flag != 1) { UI.sel20(); S1T = ipt.nextLine(); for (i = 0; i < ary.length; i++) { if (S1T.equals(ary[i].getStuNumber())) { flag = 1; break; } } if (flag == 0) { break; } else { UI.sel21(ary[i]); nSelect = ipt.nextInt(); ipt.nextLine(); if (nSelect == 1) { UI.sel221(ary[i]); d1T = ary[i].getMathematicsScore(); ary[i].setMathematicsScore(ipt.nextFloat()); ipt.nextLine(); } else if (nSelect == 2) { UI.sel222(ary[i]); d2T = ary[i].getEnglishScore(); ary[i].setEnglishScore(ipt.nextFloat()); ipt.nextLine(); } else if (nSelect == 3) { UI.sel223(ary[i]); d3T = ary[i].getNetworkScore(); ary[i].setNetworkScore(ipt.nextFloat()); ipt.nextLine(); } else if (nSelect == 4) { UI.sel224(ary[i]); d4T = ary[i].getDatabaseScore(); ary[i].setDatabaseScore(ipt.nextFloat()); ipt.nextLine(); } else if (nSelect == 5) { UI.sel225(ary[i]); d5T = ary[i].getSoftwareScore(); ary[i].setSoftwareScore(ipt.nextFloat()); ipt.nextLine(); } UI.sel23(ary[i]); SSelect = ipt.nextLine(); if (!(SSelect.equals("Y"))) { if (nSelect == 1) { ary[i].setMathematicsScore(d1T); } else if (nSelect == 2) { ary[i].setEnglishScore(d2T); } else if (nSelect == 3) { ary[i].setNetworkScore(d3T); } else if (nSelect == 4) { ary[i].setDatabaseScore(d4T); } else if (nSelect == 5) { ary[i].setSoftwareScore(d5T); } } else { break; } } } } else if (nSelect == 3) { flag = 0; while (flag != 1) { UI.sel30(); S1T = ipt.nextLine(); for (i = 0; i < ary.length; i++) { if (S1T.equals(ary[i].getStuNumber())) { flag = 1; break; } } if (flag == 0) { break; } else { d1T = UI.Score(ary[i].getMathematicsScore()); d2T = UI.Score(ary[i].getEnglishScore()); d3T = UI.Score(ary[i].getNetworkScore()); d4T = UI.Score(ary[i].getDatabaseScore()); d5T = UI.Score(ary[i].getSoftwareScore()); dT = (d1T * 4 + d2T * 3 + d3T * 4 + d4T * 3 + d5T * 2) / 16; UI.sel310(ary[i]); System.out.printf(" 1、高等数学成绩:%.1f\n", d1T); System.out.printf(" 2、大学英语成绩:%.1f\n", d2T); System.out.printf(" 3、计算机网络成绩:%.1f\n", d3T); System.out.printf(" 4、数据库成绩:%.1f\n", d4T); System.out.printf(" 5、软件工程成绩:%.1f\n", d5T); System.out.printf(" 你的平均学分绩点为:%.1f\n", dT); if ((dT >= 2)) { System.out.println(" 提示信息:你的学分绩点已达到毕业要求!"); } else { System.out.println(" 提示信息:你的学分绩点不满足毕业要求!"); } UI.sel311(); SSelect = ipt.nextLine(); if (SSelect == "Y") { break; } } } } else if (nSelect == 4) { UI.end(); } else { UI.primeEro(); } } } }
(3)UserInterface.java:
//信1805-2 20183562 秦孚瑞 class UserInterface { public double Score(double a) { if ((float) a >= 90) { return 4; } else if ((float) a >= 85) { return 3.7; } else if ((float) a >= 82) { return 3.3; } else if ((float) a >= 78) { return 3.0; } else if ((float) a >= 75) { return 2.7; } else if ((float) a >= 72) { return 2.3; } else if ((float) a >= 68) { return 2.0; } else if ((float) a >= 66) { return 1.7; } else if ((float) a >= 64) { return 1.5; } else if ((float) a >= 60) { return 1.0; } else { return 0; } } public void primeEro() { System.out.println("***********************************************************"); System.out.println(" 该选项不存在"); System.out.println("***********************************************************"); } public void numEro() { System.out.println("***********************************************************"); System.out.println(" 该学号不存在"); System.out.println("***********************************************************"); } public void prime() { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系"); System.out.println(" 学生学籍管理系统 2019 版"); System.out.println("***********************************************************"); System.out.println(" 1、 学生考试成绩录入"); System.out.println(" 2、 学生考试成绩修改"); System.out.println(" 3、 计算学生成绩绩点"); System.out.println(" 4、退出学籍管理系统"); System.out.println("***********************************************************"); } public void sel10() { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩录入"); System.out.println("***********************************************************"); System.out.println(" 请输入学生学号:XXXXXXXX"); System.out.println("***********************************************************"); } public void sel11(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入高等数学成绩:XXX"); System.out.println("***********************************************************"); } public void sel12(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入大学英语成绩:XXX"); System.out.println("***********************************************************"); } public void sel13(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入计算机网络成绩:XXX"); System.out.println("***********************************************************"); } public void sel14(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入数据库成绩:XXX"); System.out.println("***********************************************************"); } public void sel15(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入软件工程成绩:XXX"); System.out.println("***********************************************************"); } public void sel160(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩录入"); System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); } public void sel161() { System.out.println(" 该学生成绩已录入完毕,是否提交(Y/N)"); System.out.println("***********************************************************"); } public void sel20() { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩修改界面"); System.out.println("***********************************************************"); System.out.println(" 请输入学生学号:XXXXXXXX"); System.out.println("***********************************************************"); } public void sel21(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩录入"); System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.printf(" 1、高等数学成绩:%.1f\n", in.getMathematicsScore()); System.out.printf(" 2、 大学英语成绩:%.1f\n", in.getEnglishScore()); System.out.printf(" 3、 计算机网络成绩:%.1f\n", in.getNetworkScore()); System.out.printf(" 4、 数据库成绩:%.1f\n", in.getDatabaseScore()); System.out.printf(" 5、 软件工程成绩:%.1f\n", in.getSoftwareScore()); System.out.println("***********************************************************"); } public void sel221(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入高等数学成绩:XXX"); System.out.println("***********************************************************"); } public void sel222(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入修改后大学英语成绩:XXX"); System.out.println("***********************************************************"); } public void sel223(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入修改后计算机网络成绩:XXX"); System.out.println("***********************************************************"); } public void sel224(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入修改后数据库成绩:XXX"); System.out.println("***********************************************************"); } public void sel225(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.println(" 请输入修改后软件工程成绩:XXX"); System.out.println("***********************************************************"); } public void sel23(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩录入"); System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); System.out.printf(" 1、高等数学成绩:%.1f\n", in.getMathematicsScore()); System.out.printf(" 2、 大学英语成绩:%.1f\n", in.getEnglishScore()); System.out.printf(" 3、 计算机网络成绩:%.1f\n", in.getNetworkScore()); System.out.printf(" 4、 数据库成绩:%.1f\n", in.getDatabaseScore()); System.out.printf(" 5、 软件工程成绩:%.1f\n", in.getSoftwareScore()); System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)"); System.out.println("***********************************************************"); } public void sel30() { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩绩点计算界面"); System.out.println("***********************************************************"); System.out.println(" 请输入学生学号:XXXXXXXX"); System.out.println("***********************************************************"); } public void sel310(ScoreInformation in) { System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版"); System.out.println(" 学生考试成绩绩点计算界面"); System.out.println("***********************************************************"); System.out.println(" 学生学号:" + in.getStuNumber()); System.out.println(" 学生姓名:" + in.getName()); } public void sel311() { System.out.println(" 是否返回系统主界面:(Y/N)"); System.out.println("***********************************************************"); } public void end() { System.out.println("***********************************************************"); System.out.println(" 谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 "); System.out.println(" 制作人:秦孚瑞"); System.out.println("***********************************************************"); } }
心得:
Java编程中有许多方面都与C/C++不同的地方,感触最深两点一是Java中对象数组创建需要对每个对象都进行初始化,二是Java中自身没有好用的输入方法,需要声明一个Scanner用其提供的方法来进行输入。
原文:https://www.cnblogs.com/minadukirinno/p/11514453.html