学生管理系统
要求实现登陆,学生信息的添加、显示,删除,修改,查询,排序,退出功能。
1 package Student_Manage; 2 import javax.swing.JOptionPane; 3 4 public class Manage_NOTUseClass { 5 6 7 public static String [] name = new String [20];//学生姓名数组 8 public static int [] card = new int [20];//学生学号数组 9 public static int [] score = new int [20]; //学生成绩数组 10 public static int number = 0;//学生数目 11 12 public static void main(String[] args) { 13 // 学生管理系统 14 //要求实现登陆,学生信息的添加、显示, 删除,修改,查询,排序,退出功能 15 /**欢迎光临界面*/ 16 JOptionPane.showMessageDialog(null, "欢迎光临!"); 17 18 /**登陆用户名、密码验证*/ 19 String user = "111" ; 20 String pwd = "222"; 21 for (int i = 0;i<3 ; i++){ 22 String in_user = JOptionPane.showInputDialog(null , "用户名:"); 23 String in_pwd = JOptionPane.showInputDialog(null , "密码:"); 24 if ( in_user.equals(user) && in_pwd.equals(pwd)){//判定用户名和密码是否正确 25 break ; 26 }else { 27 JOptionPane.showMessageDialog(null, "用户名或密码错误!"); 28 if (i==2){ 29 JOptionPane.showMessageDialog(null, "非法用户!"); 30 System.exit(0); 31 } 32 } 33 } 34 35 /**菜单选项*/ 36 while (true){ 37 int choose_num = Integer.parseInt(JOptionPane.showInputDialog(null , "1、添加 2、显示 3、删除 4、修改 5、查询 6、排序 7、退出")); 38 switch (choose_num){ 39 case 1 : 40 add() ; 41 break ; 42 case 2 : 43 show(); 44 break ; 45 case 3 : 46 del() ; 47 break ; 48 case 4 : 49 repair(); 50 break ; 51 case 5 : 52 check(); 53 break ; 54 case 6 : 55 sort(); 56 break ; 57 case 7 : 58 JOptionPane.showMessageDialog(null, "系统已退出!"); 59 System.exit(0); 60 break ; 61 default : JOptionPane.showMessageDialog(null, "无此选项,请重新选择!");break ; 62 } 63 } 64 } 65 /**添加一个学生*/ 66 public static void add(){ 67 name [number] = JOptionPane.showInputDialog(null , "请输入姓名:"); 68 card [number] = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入学号:")); 69 score [number] = Integer.parseInt(JOptionPane.showInputDialog(null, "请输入成绩:")); 70 number ++; 71 } 72 /**排序*/ 73 public static void sort() { 74 for (int i =0;i < number ; i++){ 75 for (int j = i; j<number;j++){ 76 int temp = 0 ; 77 String s = ""; 78 if (score [i] < score [j]){ 79 s = name [i] ; 80 name [i] = name [j] ; 81 name[j] = s ; 82 83 temp = card [i] ; 84 card [i] = card [j] ; 85 card [j] = temp ; 86 87 temp = score[i] ; 88 score [i] = score [j] ; 89 score [j] = temp ; 90 } 91 } 92 } 93 JOptionPane.showMessageDialog(null, "排序成功!"); 94 } 95 /**显示*/ 96 public static void show(){ 97 String s = "学号"+" "+"姓名"+" "+"成绩"+" "; 98 for (int i = 0 ;i< number ;i++){ 99 s+=card [i] + " "+ name [i]+" "+ score [i]+" "; 100 } 101 JOptionPane.showMessageDialog(null, s); 102 } 103 /**删除*/ 104 public static void del(){ 105 int index = findByName(); 106 if (index !=-1){ 107 //方法一:将最后位置的一个元素放在被删除元素的位置 108 // name [index] = name[ number-1]; 109 // card [index] =card[ number-1]; 110 // score [index] = score[ number-1]; 111 // number--; 112 //方法二 :连续将后一个元素填补至前一个元素 113 for (int i = index; i <number ; i++){ 114 name [i] = name [i+1]; 115 card [i] = card [i+1]; 116 score [i] = score [i+1] ; 117 } 118 number--; 119 JOptionPane.showMessageDialog(null, "删除成功!"); 120 } 121 } 122 /**修改*/ 123 public static void repair(){ 124 int index = findByName(); 125 if (index !=-1){ 126 name [index] =JOptionPane.showInputDialog(null , "请输入新的名字:"); 127 card [index] = Integer.parseInt(JOptionPane.showInputDialog(null , "请输入该学生的学号")); 128 score [index] = Integer.parseInt(JOptionPane.showInputDialog(null , "请输入该学生的成绩")); 129 JOptionPane.showMessageDialog(null, "修改成功!"); 130 } 131 } 132 /**查询*/ 133 public static void check(){ 134 int index =findByName(); 135 if (index !=-1){ 136 JOptionPane.showMessageDialog(null,name[index]+" 学号:" +card[index]+" 成绩:"+score [index]); 137 } 138 } 139 /**代码重用---查找*/ 140 public static int findByName (){ 141 int index = -1 ; 142 String check_name = JOptionPane.showInputDialog(null,"请输入要查询的名字:"); 143 for (int i = 0; i< number ;i++){ 144 if (check_name.equals(name [i])){ 145 return i ; 146 } 147 } 148 if (index == -1){ 149 JOptionPane.showMessageDialog(null, "查无此人!"); 150 } 151 return index ; 152 } 153 }