学生练习项目跟踪:供初学者参考 操作选项类:Operate_Choice package choice.operate; /* * 实现操作选项功能,增删改查 */ import java.util.Scanner; import student.operate.StudentOperate; public class Operate_Choice { //声明成员变量 public static int i;//创建的全局变量; private static String [][]s ; public static Scanner scan; //初始化方法 public static void init(){ //创建的全局变量; i=1; s = new String [100][5]; //输入选项标号 scan=new Scanner(System.in); //将定义的二维数组都赋初值为空字符串; for(int i=0;i<100;i++) { for(int j=0;j<s[i].length;j++) { s[i][j]=""; } } } //提供操作选项并选择操作选项 public static void showchoice() { System.out.println("~~~~~~~~~~~~~~~~~~~~~~~欢迎进入学生信息管理系统~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); System.out.println("请选择想要进行的操作:1,添加信息;2,删除信息;3,修改信息;4,查询信息。其它数字键结束。:"); System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); String x=scan.next(); int x1=Integer.parseInt(x); switch(x1) { case 1:StudentOperate.Add(s,i);break; case 2:StudentOperate.Del(s,i);break; case 3:StudentOperate.Alt(s,i);break; case 4:StudentOperate.Ser(s,i);break; default:System.out.println("------------结束管理-------------"); } } } 学生信息相关增删改查操作类:StudentOperate package student.operate; import choice.operate.Operate_Choice; public class StudentOperate { public static void Add (String s[][],int i) { for(int k=0;k<s[i].length;k++) { String b=""; switch(k) { case 0:b="姓名:";break; case 1:b="性别:";break; case 2:b="年龄:";break; case 3:b="电话:";break; case 4:b="成绩:"; } System.out.print(b); s[i-1][k]=Operate_Choice.scan.next(); } (Operate_Choice.i)++; Operate_Choice.showchoice(); } public static void Del (String s[][],int i) { System.out.println("想要删除的姓名:"); String x=Operate_Choice.scan.next(); int k=0; for(k=0;k<i;k++) { if(s[k][0].equals(x)) { for(int l=0;l<s[k].length;l++) { StringBuffer c=new StringBuffer(s[k][l]); int len=c.length(); c.delete(0,len-1); } break; } } if(s[k][0].equals(x))//删除后为了不使删除行的元素为空,使后面的学生信息都上移一行; { for(;k<i;k++) { for(int l=0;l<s[k].length;l++) { s[k][l]=s[k+1][l]; } } System.out.println("删除成功。"); (Operate_Choice.i)--; } else System.out.println("没有找到想要删除的学生信息。"); Operate_Choice.showchoice(); } public static void Alt (String s[][],int i) { System.out.println("想要修改信息的学生的姓名:"); String x=Operate_Choice.scan.next(); int k=0; for(k=0;k<i;k++) { if(s[k][0].equals(x)) break; } if(s[k][0].equals(x)) { System.out.println("想要修改名字请按0,性别请按1,年龄请按2,电话请按3,成绩请按4:"); String x1=Operate_Choice.scan.next(); int a=Integer.parseInt(x1); System.out.println("想要修改为:"); String x2=Operate_Choice.scan.next(); String x3=s[k][a]; s[k][a]=s[k][a].replaceAll(x3,x2); System.out.println("修改完成。"); } else System.out.println("没有该学生的信息,请重新查找。"); Operate_Choice.showchoice(); } public static void Ser (String s[][],int i) { System.out.println("查询全部信息请按1,查询个别信息请按2:"); String y=Operate_Choice.scan.next(); int y1=Integer.parseInt(y); if(y1==2) { System.out.println("想要查询学生的姓名:"); Operate_Choice.scan.nextLine(); String x=Operate_Choice.scan.next(); int k=0; for(k=0;k<i;k++) { if(s[k][0].equals(x)) break; } if(s[k][0].equals(x)) { System.out.println("查询成功。"); for(int l=0;l<s[k].length;l++) { String b=""; switch(l) { case 0:b="姓名:";break; case 1:b="性别:";break; case 2:b="年龄:";break; case 3:b="电话:";break; case 4:b="成绩:"; } System.out.print(b); System.out.print(s[k][l]+" "); } System.out.println(); } else System.out.println("没有该学生的信息,请重新查找。"); } else { for(int k=0;k<i-1;k++) { { for(int l=0;l<s[k].length;l++) { String b=""; switch(l) { case 0:b="姓名:";break; case 1:b="性别:";break; case 2:b="年龄:";break; case 3:b="电话:";break; case 4:b="成绩:"; } System.out.print(b); System.out.print(s[k][l]+" "); } System.out.println(); } } } Operate_Choice.showchoice(); } } 测试类:StudentTest package student.test; import java.io.*; import choice.operate.Operate_Choice; public class StudentTest { public static void main ( String [] args)throws IOException { //调用初始化方法 Operate_Choice.init(); //调用操作选项方法 Operate_Choice.showchoice(); } }