java编程实现学⽣成绩管理系统,采⽤顺序存储结构版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/benzhaohao/article/details/78236354
学⽣成绩表如图所⽰
问题分析:采⽤顺序存储结构,所以可以继承顺序表Sqlist(顺序表Sqlist的建⽴在之前写过了),简化类的描述。
总体思路是先建⽴顺序表,然后进⾏增删改查的功能。
⼀个结点中包含5个数据元素,所以建⽴StudentNode结点如下:
import java.util.Scanner;
public class StudentNode {
private int number; //学号
private String name; //姓名
private String sex; //性别
private double english; //⼤学英语成绩
private double math; //⾼等数学成绩
public StudentNode(){ //⽆参数时的构造函数
this(0,null,null,0,0);
}
public StudentNode(int number,String name,String sex,double english,double math){
this.number=number;
this.name=name;
this.sex=sex;
this.math=math;
}
public StudentNode(Scanner sc){
Int(),sc.next(),sc.next(),sc.nextDouble(),sc.nextDouble());
}
}
建⽴顺序表并实现增删改查功能
import java.util.*;
public class StudentManageSystem extends Sqlist{
//按顺序构造顺序表,其中参数maxsize指的是顺序表的最⼤存储空间容量
public StudentManageSystem(int maxsize,int n)throws Exception{
super(maxsize); //调⽤⽗类构造函数
Scanner sc=new Scanner(System.in);
for(int i=0;i<n;i++){ //创建含有n个数据元素的顺序表
StudentNode node=new StudentNode(sc);
insert(node); //将新的数据元素插⼊到顺序表的表尾
}
}
//重载⽗类insert()⽅法在顺序表表尾插⼊⼀个学⽣信息
public void insert(StudentNode node)throws Exception{
super.insert(length(), node);
}
/
/覆盖⽗类get()⽅法,从顺序表中取出指定学号的学⽣信息,返回StudentNode对象
public StudentNode get(int number)throws Exception{
for(int i=0;i<length();i++){ //遍历顺序表
StudentNode node=(StudentNode) (i); //调⽤⽗类Sqlist的get⽅法
if(node.number==number)
return node; //返回指定学⽣信息
}
throw new Exception("学号"+number+"不存在");
}
//覆盖⽗类的remove⽅法
public void remove(int number)throws Exception{
for(int i=0;i<length();i++){
StudentNode node=(StudentNode) (i);
if(node.number==number)
return; //提前退出函数
}
throw new Exception("学号"+number+"不存在");
}
//重载⽗类display⽅法,输出顺序表中的所有数据元素
public void display(){
for(int i=0;i<length();i++){
try{
StudentNode node =(StudentNode) (i);
java面试题csdndisplayNode(node);
}
catch(Exception e){}
}
}
//输出⼀个数据元素的信息
public void displayNode(StudentNode node){
System.out.println("学号:"+node.number+"姓名:"+node.name+"性别:"+node.sex+"英语成绩:"+ lish+"数学成绩:"+node.math);
}
public static void main(String[] args)throws Exception{
int maxsize=100;
Scanner sc=new Scanner(System.in);
System.out.println("输⼊学⽣总数");
int Int();
System.out.println("请按学号,姓名,性别,英语成绩,数学成绩顺序输⼊学⽣信息");
StudentManageSystem L=new StudentManageSystem(maxsize,n);
System.out.println("输出学⽣信息");
L.display();
System.out.println("输⼊要查询学⽣的学号");
L.(sc.nextInt()));
System.out.println("输⼊要删除学⽣的学号");
System.out.println("删除成功");
L.display();
System.out.println("输⼊需要增加的学⽣信息");
L.insert(new StudentNode(sc));
L.display();
}
}
输出结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论