用java编写一个学生成绩管理系统. //1.学生类 学号 姓名 年龄 语数外三科成绩(三科成绩)?

//用java编写一个学生成绩管理系统.
//1.学生类 学号 姓名 年龄 语数外三科成绩(三科成绩) 保存三科成绩用什么类型?自定义
//2.科目类 科目类别 期中成绩 期末成绩
//3.学生管理类
//1)可以添加学生和成绩 2)可以删除学生 3)可以展示学生所有科目成绩
4).可以计算某个学生总成绩和平均成绩

第1个回答  2020-08-11

    用数组可以,也可以用集合来存储各个同学的成绩。

    添加删除等信息简单。

这里有个迷你图书管理系统,类似,我刚写的。你看看之后应该会有思路了。如果用集合utils做的话,也简单,知识用到了集合框架和泛型等机制。

package cn.kgc.sg.MiTuSys;


import java.util.Scanner;


public class MiNiBookSys {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

// 定义书的信息

String[] bookNames = new String[4];

int[] borrowDate = new int[5];

int[] borrowCount = new int[4];

int[] states = new int[4];

// 定义书单信息

String[] bookMeg = new String[5];

bookMeg[0] = "Java开发";

bookMeg[1] = "C#开发";

bookMeg[2] = "C语言开发";

states[2] = 0; // 0:可借阅 1:已借出


// 初始化两个图书借阅记录信息

bookNames[0] = "安徒生童话";

borrowDate[0] = 15;

borrowCount[0] = 4;

states[0] = 0; // 0:可借阅 1:已借出

bookNames[1] = "格林童话";

states[1] = 1; // 0:可借阅 1:已借出

borrowDate[1] = 26;

borrowCount[1] = 9;


// 搭建项目框架

int num = -1;// 定义用户初始输入的数字

do {

System.out.println("*********************欢迎使用图书管理系统**********************");

System.out.println("\t\t\t1.新增图书");

System.out.println("\t\t\t2.查看图书");

System.out.println("\t\t\t3.删除图书");

System.out.println("\t\t\t4.图书借阅");

System.out.println("\t\t\t5.归还图书");

System.out.println("\t\t\t6.退出系统");


System.out.print("请输入您的选择:");

int choose = sc.nextInt();

// 判断输入的选择是否正确

while (choose < 0 || choose > 6) {

System.out.print("输入有误,请重新输入:");

choose = sc.nextInt();

}

// 定义一个flag变量,来定义是否退出系统

boolean flag = true;// true:不退出系统 false:退出系统

String addName = null;

switch (choose) {

case 1:

System.out.println("\n*********1.新增图书*********");

boolean isAdd = true;

System.out.println("序号\t\t图书书名");

for (int i = 0; i < bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] != null) {

System.out.println((i + 1) + "\t\t" + bookMeg[i]);

}

}

System.out.print("请输入新增图书名称:");

addName = sc.next();

for (int i = 0; i <bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] == null) {

bookMeg[i] = addName;

break;

}

}

/*bookMeg[bookMeg.length-1] = addName;      //添加图书信息

*/ System.out.println("\n序号\t\t图书书名");

for (int i = 0; i < bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] != null) {

System.out.println((i + 1) + "\t\t" + bookMeg[i]);

}

}

if (!isAdd) {

System.out.println("对不起,图书已满,不能添加!!!");

}

break;


case 2:

System.out.println("\n*********2.查看图书*********");

System.out.println("序号" + "\t图书书名" + "\t   借阅次数 \t借阅状态\t借阅日期\t");

// 遍历数组

for (int i = 0; i < bookNames.length; i++) {

// 判断信息为空的不输出

if (bookNames[i] != null) {

String borrowCounts = borrowCount[i] + "次";

String borrowDates = borrowDate[i] + "日";

String state = (states[i] == 0) ? "可借阅" : "已借出";

System.out.println((i + 1) + "\t" + bookNames[i] + "\t   " + borrowCounts + "\t " + state

+ "\t " + borrowDates);

}

}

break;


case 3:

System.out.println("\n*********3.删除图书*********");

System.out.println("序号\t\t图书书名");

for (int i = 0; i < bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] != null) {

System.out.println((i + 1) + "\t\t" + bookMeg[i]);

}

}

System.out.print("请输入删除的图书序号:");

int delNo = sc.nextInt();

// 判断输入的序号是否有误

while (delNo < 1 || delNo > bookMeg.length) {

System.out.print("输入有误,重新输入:");

delNo = sc.nextInt();

}

// 删除图书

for (int i = 0; i <=bookMeg.length-1;i++) {

if (bookMeg[i] != null && i == delNo - 1) {   

bookMeg[i] = bookMeg[i+1];

bookMeg[i+1] = null;    //

// 最后置空

bookMeg[bookMeg.length - 1] = null;

}

}

for (int i = 0; i < bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] != null) {

System.out.println((i + 1) + "\t\t" + bookMeg[i]);

}

}

break;


case 4:

System.out.println("\n*********4.图书借阅*********");

System.out.println("\n序号\t\t图书书名\t\t借阅状态\t\t借阅次数\t\t借阅日期");

for (int i = 0; i < bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] != null) {

String state = (states[i] == 0) ? "可借阅" : "已借出";

String borrowCi = borrowCount[i] + "次";

System.out.println((i + 1) + "\t\t" + bookMeg[i] + "\t\t" + state + "\t\t" + borrowCi + "\t\t"

+ borrowDate[i]);

}

}

System.out.print("请输入您要借阅的图书序号:");

int borrowNo = sc.nextInt();

boolean isFind = true;// false:找不到


for (int i = 0; i < bookMeg.length; i++) {

// 查到了,但是状态是0可借阅,可以借阅

if (i == borrowNo - 1 && states[i] == 0) {

isFind = true;

// 改变状态为已借出

states[i] = 1;

// 借阅次数加一

borrowCount[i]++;

// 输入借阅日期

System.out.print("请输入借阅日期:");

int borrow = sc.nextInt();

// 对输入的日期判断

while (borrow < 1 || borrow > 31) {

System.out.print("您输入日期有误,请重新输入:");

borrow = sc.nextInt();

}

// 更新借阅日期

borrowDate[i] = borrow;

} else if (i == borrowNo - 1 && states[i] == 1) {

// 查到了,但是状态是1已借出,不可以借阅

isFind = true;

System.out.println("状态是已借出,不可以借阅!!!");

}

}

if (!isFind) {

System.out.println("找不到图书!");

break;

}

break;


case 5:

System.out.println("\n*********5.归还图书*********");

System.out.println("\n序号\t\t图书书名\t\t借阅状态\t\t借阅次数\t\t借阅日期");

for (int i = 0; i < bookMeg.length; i++) {

// 判断为空的不输出

if (bookMeg[i] != null) {

String state = (states[i] == 0) ? "可借阅" : "已借出";

String borrowCi = borrowCount[i] + "次";

System.out.println((i + 1) + "\t\t" + bookMeg[i] + "\t\t" + state + "\t\t" + borrowCi + "\t\t"

+ borrowDate[i]);

}

}

System.out.print("请输入您要归还的图书序号:");

int huanNo = sc.nextInt();

// 判断归还的序号是否合法

while (huanNo < 1 || huanNo > bookMeg.length - 1) {

System.out.print("输入的归还图书序号有误,请重新输入:");

huanNo = sc.nextInt();

}

boolean isHuan = true;// false:找不到

for (int i = 0; i < bookMeg.length; i++) {

// 查到了,但是状态是1已借出,可以还

if (i == huanNo - 1 && states[i] == 1) {

isHuan = true;

// 改变状态为已借出

states[i] = 0;

// 输入归还日期

System.out.print("请输入归还日期:");

int huan = sc.nextInt();

// 对归还的日期判断,必须大于借阅日期

while (huan < 1 || huan > 31) {

System.out.print("您输入日期有误,请重新输入(1-31):");

huan = sc.nextInt();

}

while (huan < borrowDate[i]) {

System.out.print("归还日期必须大于借阅日期" + borrowDate[i] + "号,请重新输入:");

huan = sc.nextInt();

}

borrowCount[i]++;

System.out.println("归还图书成功!!!");


} else if (i == huanNo - 1 && states[i] == 0) {

// 查到了,但是状态是0可借阅,不能还

isFind = true;

System.out.println("状态是可借阅,不可以归还!!!");

}

}

if (!isHuan) {

System.out.println("抱歉,找不到图书,不能归还图书!");

break;

}

break;


case 6:

System.out.println("\n*********6.退出系统*********");

flag = false;

break;

default:

flag = false;

break;

}

if (flag) {

System.out.print("输入0返回:");

num = sc.nextInt();

} else {

break;

}

} while (num == 0);

System.out.println("**********谢谢使用**********");

}

}

希望能帮到你!!!

大家正在搜