目录
题目
代码展示
学生类
方法类
main类
运行展示编辑
题目
学生管理
设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能.
要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限) 用来存储学生的信息
要求2:实现对学生信息的增删查操作
要求3:使用一个数组存储学生信息,数组上限定为30即可.
启动程序后输出一个菜单让用户选择操作:1.添加学生,2-删除学生,3.查询学生,4-退出
选择添加学生在控制台依次输入学号,姓名,性别等信息,将学生信息存储到一个学生对象中,并将学生对象存储到数组中,数组容量定为30.
删除时,必须输入学号,如果学号对应的学生存在,从数组中删除该学生信息
点击查询时,必须输入学号,如果学号对应的学生存在,输出学生信息即可
代码展示
学生类
package com.ffyc.javaopp.zy.zy4.T4;
/*
学生类,主要作用,存储学生信息
*/
public class Student {
private int num;
private String name;
private String gender;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Student{" +
"num=" + num +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
'}';
}
}
方法类
package com.ffyc.javaopp.zy.zy4.T4;
import java.util.Scanner;
/*
学生信息管理类
在此类中,可以有添加,删除,查询学生信息等功能
*/
public class StudentManage {
static Scanner scanner = new Scanner(System.in);
Student[] students = new Student[30];//[null,null,null]
int size = 0;
/*
管理系统主方法
*/
public void menu(){
loop:while(true){
System.out.println("用户选择操作: 1.添加学生,2-删除学生,3.查询学生,4-退出");
int item = scanner.nextInt();
switch (item){
case 1: this.add(); break;
case 2: this.delete(); break;
case 3: this.search(); break;
case 4: break loop;
}
}
}
/*
添加
*/
public void add(){
if(size == students.length){
System.out.println("满了");
return;
}else{
Student student = new Student();
System.out.println("输入学号");
student.setNum(scanner.nextInt());
System.out.println("输入姓名");
student.setName(scanner.next());
System.out.println("输入性别");
//将学生信息存入学生数组中
student.setGender(scanner.next());
students[size++]=student;
}
}
/*
删除
*/
public void delete(){
System.out.println("输入学号");
int num = scanner.nextInt();
//数组进行遍历
int index = -1;
for(int i = 0;i<size;i++){
if(students[i].getNum()==num) {
students[i] = null;
size--;
index = i;
//将第index后面的学生向前移动
for(int j = index;j<size;j++){
students[j]=students[j+1];
}
}
}
if(index == -1){
System.out.println("不存在");
}
}
/*
查询
*/
public void search(){
System.out.println("输入学号");
int num = scanner.nextInt();
/*
i<size:数组遍历 只需遍历到数组中已经添加入数据的部分,之后的部分无需遍历
如果遍历之后没有存入数组的部分,因为没有数据,无法getNum,会报错
*/
for(int i=0;i<size;i++){
if(students[i].getNum()==num){
System.out.println(students[i].toString());
return;
}
}
System.out.println("不存在");
}
}
main类
package com.ffyc.javaopp.zy.zy4.T4;
/*
启动类
*/
public class RunStudentManage {
public static void main(String[] args) {
/*1
创建一个学生信息管理系统对象
*/
StudentManage studentManager = new StudentManage();
studentManager.menu();
}
}