设计并实现一个“学院学生信息管理”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作。记录的存储采用数组的方式。
提示:
为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入选择以及做出相关反应;一个类为学生信息服务。
package javaTest;
import java.util.*;
public class Demo07 {
public static void main(String rg[])
{
Stud[] stus=new Stud[30];
for(int i=0;i<stus.length;i++)
{
stus[i]=null;
}
stus[0]=new Stud("张三", "02",78,99,92);
stus[1]=new Stud("李四", "03",98,59,95);
stus[2]=new Stud("王五", "04",78,89,56);
stus[3]=new Stud("赵六", "05",88,69,95);
stus[4]=new Stud("周其", "06",78,79,55);
System.out.println("欢迎使用学生信息管理系统!");
boolean exit=false;
while(!exit)//exit为退出主菜单的指示变量,true为退出,flase为不退出
{
System.out.println();
System.out.println("************************************");
System.out.println("****************主菜单****************");
System.out.print(" 1。显示所有学生信息\t\t");
System.out.println("2。新增学生信息");
System.out.print(" 3。修改学生信息\t\t");
System.out.println("4。删除学生信息");
System.out.print(" 5。查询满足某条件的学生名单\t\t");
System.out.println("6。退出");
System.out.println("************************************");
System.out.println("************************************");
System.out.print("请选择你要操作的功能:");
Scanner input=new Scanner(System.in);
int selector=input.nextInt();
switch(selector) //查询学生信息
{
case 1:
try{
Stud.showAll(stus);
}catch(NullPointerException e){
}
break;
case 2:
Stud.insert(stus);
break;
case 3:
try{
Stud.modify(stus);
}catch(NullPointerException e){}
break;
case 4:
Stud.delete(stus);
break;
case 5:
try{
Stud[] ss=Stud.select(stus);
System.out.println("姓名\t学号\t英语成绩\t数学成绩\t语文成绩");
for(Stud item:ss) if(item!=null) item.show();
}catch(NullPointerException e){}
break;
case 6:
exit=true;
break;
default: System.out.println("无此功能");
}
}
}
}
class Stud {
String name;
String id;
int english;
int math;
int chinese;
public Stud()
{
}
public Stud(String name,String id,int a,int b,int c)
{
this.name=name;
this.id=id;
this.english=a;
this.math=b;
this.chinese=c;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getEnglish() {
return english;
}
public void setEnglish(int english) {
this.english = english;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getChinese() {
return chinese;
}
public void setChinese(int chinese) {
this.chinese = chinese;
}
public static void showAll(Stud[] ss)
{
System.out.println("姓名\t学号\t英语成绩\t数学成绩\t语文成绩");
for(int i=0;i<ss.length;i++){
if(!ss[i].equals(null)){
ss[i].show();
}
}
}
public static Stud[] select(Stud[] ss)
{ String key;
String value;
Scanner sin=new Scanner(System.in);
System.out.print("请输入要查找的关键字");
key=sin.next();
System.out.print("请输入要查找的值");
value=sin.nextLine();
for(int i=0;i<ss.length;i++){
if(key.equals("id")&&ss[i].id.equals(value)){
ss[i].show();
}
}
return ss;
}
public void show()
{
System.out.println("姓名:"+this.getName()+"\t学号:"+this.getId()+"\t英语成绩:"+this.getEnglish()+"\t数学成绩:"+this.getMath()+"\t语文成绩:"+this.getChinese());
}
public static void modify(Stud[] ss)
{
String key, oldvalue, newvalue;
Scanner sin=new Scanner(System.in);
System.out.print("请输入要修改的学号");
String id=sin.next();
System.out.print("请输入关键字");
key=sin.next();
System.out.print("请输入新的关键字的值");
newvalue=sin.next();
for(int i=0;i<ss.length;i++){
if(ss[i].id.equals(id)){
if(key.equals("english")){
ss[i].english=Integer.parseInt(newvalue);
}
else if(key.equals("math")){
ss[i].math=Integer.parseInt(newvalue);
}
else if(key.equals("chinese")){
ss[i].chinese=Integer.parseInt(newvalue);
}
else if(key.equals("name")){
ss[i].name=newvalue;
}
else if(key.equals("id")){
ss[i].id=newvalue;
}
}
}
}
public static void insert(Stud[] ss)
{
System.out.println("请输入姓名\t学号\t英语成绩\t数学成绩\t语文成绩");
Scanner sin=new Scanner(System.in);
String name=sin.nextLine();
String id=sin.nextLine();
int a=sin.nextInt();
int b=sin.nextInt();
int c=sin.nextInt();
for(int i=0;i<ss.length;i++){
if(ss[i]==null){
ss[i]=new Stud(name, id, a, b, c);
break;
}
}
}
public static void delete(Stud[] ss)
{ String key,value;
Scanner sin=new Scanner(System.in);
System.out.print("请输入关键字");
key=sin.next();
System.out.print("请输入要删除的关键字的值");
value=sin.next();
for(int i=0;i<ss.length;i++){
if(key.equals("id")&&ss[i].id.equals(value)){
ss[i]=null;
}
else if(key.equals("name")&&ss[i].name.equals(value)){
ss[i]=null;
}
}
}
}
本文介绍了一个基于字符界面的学生信息管理系统的设计与实现。系统通过数组存储学生数据,并提供了增加、删除、修改、查找等基本功能。文章详细展示了系统的类结构和核心代码。
2881

被折叠的 条评论
为什么被折叠?



