大一写的,今天整理资料翻到了,仅作纪念。
《学生成绩管理系统》
一、学生成绩管理系统实现环境:JDK1.8,ECLIPSE 4.4.2;
二、功能:0、成绩管理系统的界面实图
1、录入10个学生信息(学号、姓名、性别、各门课程成绩)输出10个学生信息。
2、计算每个学生高数、英语、java课程的总成绩和平均成绩并输出、计算各门课程的总成绩和平均成绩并输出。
4:分别输出高数、英语、Java课程不及格学生的人数、不及格学生的信息。
6:删除给定学号学生的信息,并输出删除后的结果。
7:万年历,输入任意的年份和月份,控制台显示当前月的日期与星期对照
三、代码(列举完成后附代码,直接拷贝粘贴即可)。
学生类:Student0120
public class Student0120 {
private String xueHao; // 学号
private String xingMing; // 姓名
private String xingBie; // 性别
private double gaoShuCJ; // 数学成绩
private double yingYuCJ; // 英语成绩
private double javaCJ; // Java成绩
// 计算总成绩方法
public double getSum0120() {
return gaoShuCJ + yingYuCJ + javaCJ;
}
// 计算平均成绩方法
public double getAve0120() {
return getSum0120() / 3;
}
// 成员信息显示方法
public void disp0120() {
System.out.println("学生信息:学号:" + xueHao + ",姓名:" + xingMing + ",性别:"
\+ xingBie + "数学成绩:" + gaoShuCJ + "英语成绩:" + yingYuCJ + "Java成绩:"
\+ javaCJ + "总成绩:" + getSum0120() + "平均成绩:" + getAve0120());
}
public String getXueHao() {
return xueHao;
}
public void setXueHao(String xueHao) {
this.xueHao = xueHao;
}
public String getXingMing() {
return xingMing;
}
public void setXingMing(String xingMing) {
this.xingMing = xingMing;
}
public String getXingBie() {
return xingBie;
}
public void setXingBie(String xingBie) {
if (!(xingBie.equals("男")) && !(xingBie.equals("女"))) {
//默认男
this.xingBie = "男";
}
this.xingBie = xingBie;
}
public double getGaoShuCJ() {
return gaoShuCJ;
}
public void setGaoShuCJ(double shuXueCJ) {
if (shuXueCJ < 0 || shuXueCJ > 100) {
//默认60
shuXueCJ = 60;
}
this.gaoShuCJ = shuXueCJ;
}
public double getYingYuCJ() {
return yingYuCJ;
}
public void setYingYuCJ(double yingYuCJ) {
if (yingYuCJ < 0 || yingYuCJ > 100) {
yingYuCJ = 60;
}
this.yingYuCJ = yingYuCJ;
}
public double getJavaCJ() {
return javaCJ;
}
public void setJavaCJ(double javaCJ) {
if (javaCJ < 0 || javaCJ > 100) {
//默认60
javaCJ = 60;
}
this.javaCJ = javaCJ;
}
}
功能类:GongNeng0120
import java.util.;
public class GongNeng0120 {
List<Student0120> stulist = new ArrayList<Student0120>();
Scanner input = new Scanner(System.in\);
// 菜单
public void caiDan0120() {
System.out.println("输入数字0 退出系统");
System.out.println("输入数字1 录入学生信息、输出学生信息");
System.out.println("输入数字2 计算每个学生高数 英语 java课程的总成绩和平均成绩、计算各门课程的总成绩和平均成绩");
System.out.println("输入数字3 根据学生的总成绩按降序排列");
System.out.println("输入数字4 分别输出高数、英语、Java课程不及格学生的人数、不及格学生的信息");
System.out.println("输入数字5 根据给定学生的姓名,查找该学生并输出该学生的信息");
System.out.println("输入数字6 删除给定学号学生的信息,并输出删除后的结果");
System.out.println("输入数字7 万年历,输入任意的年份和月份,控制台显示当前月的日期与星期对照");
System.out
.println("请选择:");
}
// 功能1 录入任意多个学生信息、输出学生信息
public void gongNeng10120() {
System.out.print("请输入要录入学生信息的个数:");
int luRuXueShengGeShu = input.nextInt();
for (int i = 0; i < luRuXueShengGeShu; i++) {
Student0120 xuesheng = new Student0120();
System.out.print("请录入第" + (i + 1) + "个学生的学号:");
xuesheng.setXueHao(input.next());
System.out.print("请录入第" + (i + 1) + "个学生的姓名:");
xuesheng.setXingMing(input.next());
System.out.print("请录入第" + (i + 1) + "个学生的性别:");
xuesheng.setXingBie(input.next());
System.out.print("请录入第" + (i + 1) + "个学生的高数成绩:");
xuesheng.setGaoShuCJ(input.nextDouble());
System.out.print("请录入第" + (i + 1) + "个学生的英语成绩:");
xuesheng.setYingYuCJ(input.nextDouble());
System.out.print("请录入第" + (i + 1) + "个学生的Java成绩:");
xuesheng.setJavaCJ(input.nextDouble());
stulist.add(xuesheng);
}
System.out.println("录入完毕");
for (int i = 0; i < stulist.size(); i++) {
stulist.get(i).disp0120();
}
}
// 功能2 计算每个学生高数 英语 java课程的总成绩和平均成绩并输出、计算各门课程的总成绩和平均成绩并输出
public void gongNeng20120() {
if (stulist.size() == 0) {
System.out.println("集合为空,请先录入学生信息");
} else {
// 计算每个学生高数 英语 java课程的总成绩平均成绩
long startTime = System.currentTimeMillis();
for (int i = 0; i < stulist.size(); i++) {
System.out.println("第" + (i + 1) + "个学生"
\+ stulist.get(i).getXingMing() + "的总成绩是:"
\+ stulist.get(i).getSum0120() + ",平均成绩是:"
\+ stulist.get(i).getAve0120());
}
// 计算各门课程的总成绩和平均成绩
System.out.println("计算各门课程的总成绩和平均成绩并输出");
double gaoShuSum = 0;
double yingYuSum = 0;
double JavaSum = 0;
for (int i = 0; i < stulist.size(); i++) {
gaoShuSum += stulist.get(i).getGaoShuCJ();
yingYuSum += stulist.get(i).getYingYuCJ();
JavaSum += stulist.get(i).getJavaCJ();
}
System.out.println("高数课程的总成绩是:" + gaoShuSum + "平均成绩是:" + gaoShuSum
/ stulist.size());
System.out.println("英语课程的总成绩是:" + yingYuSum + "平均成绩是:" + yingYuSum
/ stulist.size());
System.out.println("Java课程的总成绩是:" + JavaSum + "平均成绩是:" + JavaSum
/ stulist.size());
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
}
}
// 功能3 排序,根据学生的总成绩按降序排列,并输出排序后的结果
public void gongNeng30120() {
if (stulist.size() == 0) {
System.out.println("集合为空,请先录入学生信息");
} else {
// 根据学生的总成绩按降序排列
long startTime = System.currentTimeMillis();
Collections.sort(stulist, new Comparator<Student0120>() {
@Override
public int compare(Student0120 o1, Student0120 o2) {
// 注意升序降序改大于号和小于号
if (o1.getSum0120() < o2.getSum0120()) {
return 1;
}
// 相等不执行交换
if (o1.getSum0120() == o2.getSum0120()) {
return 0;
}
return -1;
}
});
// 输出所有学生信息和总成绩
System.out.println("输出所有学生姓名和总成绩");
for (int i = 0; i < stulist.size(); i++) {
System.out.println("学生姓名:" + stulist.get(i).getXingMing()
\+ ",总成绩是" + stulist.get(i).getSum0120());
}
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
}
}
// 功能4 分别输出高数、英语、Java课程不及格学生的人数、不及格学生的信息
public void gongNeng40120() {
if (stulist.size() == 0) {
System.out.println("集合为空,请先录入学生信息");
} else {
// 高数不及格
int gaoShuBuJiGe = 0;
int yingYuBuJiGe = 0;
int JavaBuJiGe = 0;
StringBuffer gaoShuStringBuffer = new StringBuffer("");
StringBuffer yingYuStringBuffer = new StringBuffer("");
StringBuffer JavaStringBuffer = new StringBuffer("");
long startTime = System.currentTimeMillis();
for (int i = 0; i < stulist.size(); i++) {
// 判断高数成绩
if (stulist.get(i).getGaoShuCJ() < 60) {
gaoShuBuJiGe++;
gaoShuStringBuffer.append(stulist.get(i).getXingMing()
\+ ",");
}
// 判断英语成绩
if (stulist.get(i).getYingYuCJ() < 60) {
yingYuBuJiGe++;
yingYuStringBuffer.append(stulist.get(i).getXingMing()
\+ ",");
}
// 判断Java成绩
if (stulist.get(i).getJavaCJ() < 60) {
JavaBuJiGe++;
JavaStringBuffer.append(stulist.get(i).getXingMing() + ",");
}
}
if (gaoShuBuJiGe != 0) {
System.out.println("高数不及格的学生有:" + gaoShuStringBuffer);
System.out.println("高数不及格的学生共有:" + gaoShuBuJiGe + "个。");
} else {
System.out.println("高数没有不及格的学生。");
}
if (yingYuBuJiGe != 0) {
System.out.println("英语不及格的学生有:" + yingYuStringBuffer);
System.out.println("英语不及格的学生共有:" + yingYuBuJiGe + "个。");
} else {
System.out.println("英语没有不及格的学生。");
}
if (JavaBuJiGe != 0) {
System.out.println("Java不及格的学生有:" + JavaStringBuffer);
System.out.println("java不及格的学生共有:" + JavaBuJiGe + "个。");
} else {
System.out.println("Java没有不及格的学生。");
}
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
}
}
// 功能5 根据给定学生的姓名,查找该学生并输出该学生的信息
public void gongNeng50120() {
if (stulist.size() == 0) {
System.out.println("集合为空,请先录入学生信息");
} else {
boolean chaXunJG = false;
System.out.print("请输入要查询的学生姓名:");
String JxingMing = input.next();
long startTime = System.currentTimeMillis();
for (int i = 0; i < stulist.size(); i++) {
// 注意为了加速循环加了break但是如果重名,则只能查到第一个!
if (JxingMing.equals(stulist.get(i).getXingMing())) {
System.out.println("查询到姓名为:" + JxingMing + "的学生");
chaXunJG = true;
stulist.get(i).disp0120();
break;
}
}
if (!chaXunJG) {
System.out.println("查无此人,查询失败!");
}
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
}
}
// 功能6 删除给定学号学生的信息,并输出删除后的结果
public void gongNeng60120() {
System.out.println("删除前");
for (int i = 0; i < stulist.size(); i++) {
stulist.get(i).disp0120();
}
boolean chaXunJG = false;
if (stulist.size() == 0) {
System.out.println("集合为空,请先录入学生信息");
} else {
System.out.print("请输入要删除的学生学号:");
String JxueHao = input.next();
long startTime = System.currentTimeMillis();
for (int i = 0; i < stulist.size(); i++) {
// 注意为了加速循环加了break但是如果重名,则只能删除第一个!
if (JxueHao.equals(stulist.get(i).getXueHao())) {
// 删除操作
System.out.println("已删除学号为:" + JxueHao + "的学生");
stulist.remove(i);
chaXunJG = true;
break;
}
}
if (!chaXunJG) {
System.out.println("查无此人,删除失败!");
}
System.out.println("删除后");
if (stulist.size() == 0) {
System.out.println("集合为空,无需输出");
} else {
for (int i = 0; i < stulist.size(); i++) {
stulist.get(i).disp0120();
}
}
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
}
}
// 功能7 万年历,输入任意的年份和月份,控制台显示当前月的日期与星期对照
public void gongNeng70120() {
int Jyear = 1900; // 年份
int Jmonth = 1; // 月份
int Jday = 0; // 1900年至月初的总天数
int Jmonthday = 0;
// 年份条件判断
do {
System.out.print("请输入要查询的年份");
Jyear = input.nextInt();
if (Jyear < 1900) {
System.out.println("您输入的年份小于1900年,请重新输入");
continue;
}
} while (Jyear < 1900);
// 月份条件判断
do {
System.out.print("请输入要查询的月份");
Jmonth = input.nextInt();
if (Jmonth < 1 || Jmonth > 12) {
System.out.println("您输入的月有误,请重新输入");
continue;
}
} while (Jmonth < 1 || Jmonth > 12);
long startTime = System.currentTimeMillis();
// 累加年份天数
for (int a = 1900; a <= Jyear - 1; a++) {
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
Jday += 366;
} else {
Jday += 365;
}
}
// 累加月份天数
for (int i = 1; i <= Jmonth - 1; i++) {
if (i == 2) {
if (Jyear % 4 == 0 && Jyear % 100 != 0 || Jyear % 400 == 0) {
Jday = Jday + 29;
} else {
Jday = Jday + 28;
}
} else {
if (i == 4 || i == 6 || i == 9 || i == 11) {
Jday = Jday + 30;
} else {
Jday = Jday + 31;
}
}
}
// 加1%7计算1号是周几
Jday += 1;
int wekday = Jday % 7;
// 计算该月有几天
if (Jmonth == 2) {
if (Jyear % 4 == 0 && Jyear % 100 != 0 || Jyear % 400 == 0) {
Jmonthday = 29;
} else {
Jmonthday = 28;
}
} else if (Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) {
Jmonthday = 30;
} else {
Jmonthday = 31;
}
// 按格式输出
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int j = 1; j <= wekday; j++) {
// 不换行输出空格
System.out.print("\t");
}
for (int i = 1; i <= Jmonthday; i++) {
if (Jday % 7 == 6) {
// 输出周六并换行
System.out.print(i + "\n");
} else {
System.out.print(i + "\t");
}
Jday++;
}
System.out.println("");
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:" + (endTime - startTime) + "ms");
}
}
运行类:ChangMaZhou0120
import java.util.Scanner;
public class ChangMaZhou0120 {
static {
System.out.println("欢迎使用学生成绩管理系统");
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in\);
GongNeng0120 gongNeng = new GongNeng0120();
String yn = "";
// 程序开始
do {
gongNeng.caiDan0120();
int xuan = input.nextInt();
switch (xuan) {
case 0:
yn = "n";
break;
case 1:
gongNeng.gongNeng10120();
break;
case 2:
gongNeng.gongNeng20120();
break;
case 3:
gongNeng.gongNeng30120();
break;
case 4:
gongNeng.gongNeng40120();
break;
case 5:
gongNeng.gongNeng50120();
break;
case 6:
gongNeng.gongNeng60120();
break;
case 7:
gongNeng.gongNeng70120();
break;
default:
System.out.println("输入错误请重新输入");
continue;
}
if (yn.equals("n")) {
break;
} else {
System.out.println("是否继续使用系统?(y/n)");
yn = input.next();
}
} while (!yn.equals("n"));
// 程序结束
System.out.println("退出系统,感谢使用!");
input.close();
}
}