具体实现如下,刚学到这边写着玩的,本人小白,高手请指点:
import java.util.*;
class Student{
int[] bianhao = new int[1024];
int[] id = new int[1024]; //学生ID
String[] name = new String[1024];//学生姓名
public Student(){
Pint();
}
public void Pint()
{
System.out.println("学生管理系统");
System.out.print("是否显示菜单(Y/N):");
Scanner scan =new Scanner(System.in);
String y = scan.next();
if(y.equalsIgnoreCase("n")){
System.out.println("不显示菜单,系统退出!!");
System.exit(-1);
}else if(y.equalsIgnoreCase("y")){
CaiDan(); //调用菜单方法,显示菜单
}
}
public void CaiDan()
{
System.out.println("1.添加学生信息");
System.out.println("2.查询学生信息");
System.out.println("3.修改学生信息");
System.out.println("4.删除学生信息");
System.out.println("5.系统退出");
System.out.print("请选择您要选择的选项:");
Scanner scan =new Scanner(System.in);
int i = scan.nextInt(); //接收用户选项值
switch(i){
case 1:addStudent();break; //调用添加学生信息方法
case 2:selectStudent();break;//调用查询学生信息方法
case 3:updateStudent();break; //调用修改学生信息方法
case 4:delStudent();break; //删除学生信息方法
case 5:System.out.println("系统退出!");System.exit(-1);break;
default:System.out.println("您输入的学生选择项不存在,请重新输入!");
CaiDan(); //调用出错,重新输入
break;
}
}
static int count = 0; //记录学生数
//添加学生信息
public void addStudent()
{
String y = null; //用户输入判断信息
//System.out.println("功能完善当中!");
Scanner scan = new Scanner(System.in);
System.out.print("学生编号:");
bianhao[count]= count+1;
id[count] = scan.nextInt();
System.out.print("学生姓名:");
name[count] = scan.next();
count++;
System.out.print("是否继续输入Y/N:");
y = scan.next();
if(y.equalsIgnoreCase("y"))
{
StudentPrint(count);
CaiDan();
}else if(y.equalsIgnoreCase("n"))
{
System.out.println("成功退出!");
CaiDan();
}
}
//学生信息输入
public void StudentPrint(int count)
{
Scanner scan = new Scanner(System.in);
String y=null;
while(count!=0)
{
bianhao[count]= count+1;
System.out.print("学生编号:");
id[count] = scan.nextInt();
System.out.print("学生姓名:");
name[count] = scan.next();
count++;
System.out.print("是否继续输入Y/N:");
y = scan.next();
if(y.equalsIgnoreCase("n"))
{
System.out.println("成功退出!");break;
//如果N,退出循环
}
}
}
//查询学生信息
public void selectStudent()
{
String p = null;
Scanner scan = new Scanner(System.in);
//System.out.println("功能完善当中!");
if(bianhao[0]!=0)
{
System.out.println("学生编号"+"\t\t"+"学生学号"+"\t\t"+"学生姓名");
for(int i=0;i<bianhao.length;i++)
{
//进行判断,如果是空值则不输出
if(bianhao[i]!=0) System.out.print(bianhao[i]+"\t\t");
if(id[i]!=0) System.out.print(id[i]+"\t");
if(name[i]!=null) System.out.println("\t"+name[i]);
}
System.out.print("是否返回主菜单Y/N:");
p = scan.next();
if(p.equalsIgnoreCase("y")) //不区分大小写
{
CaiDan();
}else if(p.equalsIgnoreCase("N"))
{
System.out.println("系统退出!");
System.exit(-1);
}
}
else
{
System.out.println("亲,没有输入学生的信息哦!");
CaiDan(); //返回主菜单
}
}
//修改学生信息
public void updateStudent()
{
int p=0; //接收收到的学生学号
int count=0;
if(id[0]==0)
{
System.out.println("亲,没有学生信息,不能修改哦!");
CaiDan();
}
while(id[count]!=0)
{
count++; //获取数组中有数据的长度
}
count -=1; //减1;
//System.out.println("功能完善当中!");
Scanner scan = new Scanner(System.in);
System.out.print("请输入你想查找的学生编号:");
p = scan.nextInt() -1; //所要查找的人应该是输入的数字减1,数组0开始计算
if(p>count)
{
System.out.println("亲,你输入的ID不存在!");
CaiDan(); //返回主菜单
}else
{
for(int i=0;i<count;i++)
{
if(id[i]==0) continue;
else
if(id[i]!=p)
{
continue; //继续向下执行
}else if(id[i]==p){
p=i;
break;
}else{
System.out.println("对不起,你要找的学生不存在!!");
}
}
}
System.out.println("修改学生信息:");
System.out.print("请输入学生ID:");
id[p]= scan.nextInt();
System.out.print("请输入学生姓名:");
name[p]= scan.next();
System.out.println("修改成功");
CaiDan();
}
//删除学生信息
public void delStudent()
{
//System.out.println("功能完善当中!");
int delId=0;
int count=0;
Scanner scan = new Scanner(System.in);
System.out.print("请输入您要删除的学生编号:");
delId = scan.nextInt()-1;
if(bianhao[0]==0)
{
System.out.println("没有学生信息你删个毛线。");
CaiDan(); //返回主菜单
}
else
{
while(id[count]!=0)
{
count++; //获取数组中有数据的长度
}
count -=1; //减1; 获取数组中赋值后的下标
if(count==0) //在输入信息中只有一个学生的情况下。
{
bianhao[0] = 0;
id[0] = 0;
name[0] = null;
System.out.println("删除成功!");
CaiDan();//返回主菜单
}else
{
//有多个学生信息
if(count>0)
{
bianhao[delId]=0;
id[delId]=0;
name[delId]=null;
for(int i=0;i<=count-delId;i++)
{
bianhao[delId] = bianhao[delId+1]-1;//编号减1
id[delId] = id[delId+1];
name[delId] = name[delId+1];
delId++;
}
//将最后下标的值变为空值
bianhao[count]=0;
id[count]=0;
name[count]=null;
System.out.println("删除成功!");
CaiDan();
}
}
}
}
}
//测试类
public class StudentTest {
public static void main(String args[]){
Student st = new Student();
}
}