Java练习学生信息管理系统,第一次写,对于类要怎么弄,函数要干嘛,main方法静态不能用非静态的等等很是烦恼了好大一阵。
幸好ArrayList做参数时,是引用传递。。。C++用&就可以引用传递,Java呢?
1 package Student; 2 3 public class Student 4 { 5 private String stunumber; 6 private String name; 7 private int age; 8 private boolean sex;//man=false,woman=true 9 private Double score; 10 Student () 11 { 12 stunumber=""; 13 name=""; 14 age=0; 15 sex=false; 16 score=0.0; 17 } 18 Student (String a,String b,int c,boolean d,Double e) 19 { 20 stunumber=a; 21 name=b; 22 age=c; 23 sex=d; 24 score=e; 25 } 26 public void set_stunumber(String str) 27 { 28 stunumber=str; 29 } 30 public void set_name(String str) 31 { 32 name=str; 33 } 34 public void set_age(int n) 35 { 36 age=n; 37 } 38 public void set_sex(boolean bool) 39 { 40 sex=bool; 41 } 42 public void set_score(Double n) 43 { 44 score=n; 45 } 46 public String get_stunumber() 47 { 48 return stunumber; 49 } 50 public String get_name() 51 { 52 return name; 53 } 54 public int get_age() 55 { 56 return age; 57 } 58 public boolean get_sex() 59 { 60 return sex; 61 } 62 public Double get_score() 63 { 64 return score; 65 } 66 67 }
1 package Student; 2 import java.util.Scanner; 3 import java.util.ArrayList; 4 public class StudentManager 5 { 6 public static void main(String[] args) 7 { 8 Scanner input=new Scanner(System.in); 9 ArrayList<Student> stu=new ArrayList<Student>(); 10 int select=1; 11 for(;;) 12 { 13 face(); 14 do 15 { 16 select=input.nextInt(); 17 }while(select<1||select>5); 18 switch(select) 19 { 20 case 1:showStudent(stu);break; 21 case 2:addStudent(stu);break; 22 case 3:deleteStudent(stu);break; 23 case 4:updateStudent(stu);break; 24 case 5:selectStudent(stu);break; 25 } 26 } 27 } 28 private static void addStudent(ArrayList<Student> stu) 29 { 30 Student stu0=new Student(); 31 String a, b,f; 32 int c; 33 boolean d=false,j=true; 34 Double e; 35 36 Scanner input=new Scanner(System.in); 37 System.out.println("请依次输入:学号、姓名、年龄、性别、成绩"); 38 a=input.next(); 39 b=input.next(); 40 c=input.nextInt(); 41 f=input.next(); 42 e=input.nextDouble(); 43 if(stu.size()!=0) 44 { 45 for(int i=0;i<stu.size();i++) 46 { 47 if(stu.get(i).get_stunumber().equals(a)) 48 { 49 j=false; 50 } 51 } 52 } 53 if(j==true) 54 { 55 if(f.equals("男")) 56 { 57 d=false; 58 } 59 else 60 { 61 d=true; 62 } 63 stu0.set_stunumber(a); 64 stu0.set_name(b); 65 stu0.set_age(c); 66 stu0.set_sex(d); 67 stu0.set_score(e); 68 stu.add(stu0); 69 } 70 else 71 { 72 System.out.println("学号重复!该学生已存在!"); 73 } 74 } 75 private static void deleteStudent(ArrayList<Student> stu) 76 { 77 boolean f=false; 78 String str; 79 System.out.println("请输入要删除的学生的学号:"); 80 Scanner input=new Scanner(System.in); 81 str=input.next(); 82 for(int i=0;i<stu.size();i++) 83 { 84 if(stu.get(i).get_stunumber().equals(str)) 85 { 86 f=true; 87 stu.remove(i); 88 break; 89 } 90 } 91 if(f==false) 92 { 93 System.out.println("该学生不存在!"); 94 } 95 } 96 private static void updateStudent(ArrayList<Student> stu) 97 { 98 Student stu0; 99 String a, b,f; 100 int c,num=0; 101 boolean d,j=true; 102 Double e; 103 Scanner input=new Scanner(System.in); 104 System.out.println("请输入待修改学生学号:"); 105 a=input.next(); 106 if(stu.size()!=0) 107 { 108 for(int i=0;i<stu.size();i++) 109 { 110 if(stu.get(i).get_stunumber().equals(a)) 111 { 112 j=false; 113 } 114 } 115 } 116 if(j==true) 117 { 118 System.out.println("该学生不存在!"); 119 } 120 else 121 { 122 for(int i=0;i<stu.size();i++) 123 { 124 if(stu.get(i).get_stunumber().equals(a)) 125 { 126 num=i; 127 break; 128 } 129 } 130 System.out.println("请输入新的信息:"); 131 a=input.next(); 132 b=input.next(); 133 c=input.nextInt(); 134 f=input.next(); 135 e=input.nextDouble(); 136 if(j==true) 137 { 138 if(f=="男") 139 { 140 d=false; 141 } 142 else 143 { 144 d=true; 145 } 146 147 stu.get(num).set_stunumber(a); 148 stu.get(num).set_name(b); 149 stu.get(num).set_age(c); 150 stu.get(num).set_sex(d); 151 stu.get(num).set_score(e); 152 } 153 } 154 } 155 private static void selectStudent(ArrayList<Student> stu) 156 { 157 boolean j=true;//默认无重复 158 int num=0; 159 String s; 160 Scanner input=new Scanner(System.in); 161 String str; 162 System.out.println("请输入学号:"); 163 str=input.next(); 164 if(stu.size()!=0) 165 { 166 for(int i=0;i<stu.size();i++) 167 { 168 if(stu.get(i).get_stunumber().equals(str)) 169 { 170 j=false; 171 } 172 } 173 } 174 if(j==true) 175 { 176 System.out.println("该学生不存在!"); 177 } 178 else 179 { 180 for(int i=0;i<stu.size();i++) 181 { 182 if(stu.get(i).get_stunumber().equals(str)) 183 { 184 num=i; 185 break; 186 } 187 } 188 if(stu.get(num).get_sex()==false) 189 { 190 s="男"; 191 } 192 else 193 { 194 s="女"; 195 } 196 System.out.print("学号: "); 197 System.out.print(stu.get(num).get_stunumber()); 198 System.out.print(" 姓名: "); 199 System.out.print(stu.get(num).get_name()); 200 System.out.print(" 年龄: "); 201 System.out.print(stu.get(num).get_age()); 202 System.out.print(" 性别: "); 203 System.out.print(s); 204 System.out.print(" 成绩: "); 205 System.out.println(stu.get(num).get_score()); 206 } 207 } 208 private static void showStudent(ArrayList<Student> stu) 209 { 210 String s; 211 for(int i=0;i<stu.size();i++) 212 { 213 if(stu.get(i).get_sex()==false) 214 { 215 s="男"; 216 } 217 else 218 { 219 s="女"; 220 } 221 System.out.print("("+(i+1)+") "); 222 System.out.print("学号: "); 223 System.out.print(stu.get(i).get_stunumber()); 224 System.out.print(" 姓名: "); 225 System.out.print(stu.get(i).get_name()); 226 System.out.print(" 年龄: "); 227 System.out.print(stu.get(i).get_age()); 228 System.out.print(" 性别: "); 229 System.out.print(s); 230 System.out.print(" 成绩: "); 231 System.out.println(stu.get(i).get_score()); 232 } 233 } 234 private static void face() 235 { 236 System.out.println("***************************************************"); 237 System.out.println(" 石家庄铁道大学信息科学与技术学院"); 238 System.out.println(" 学生信息管理系统"); 239 System.out.println("***************************************************"); 240 System.out.println(" 1.遍历输出学生信息"); 241 System.out.println(" 2.新学生信息录入"); 242 System.out.println(" 3.删除学生信息"); 243 System.out.println(" 4.修改学生信息"); 244 System.out.println(" 5.查询学生信息"); 245 System.out.println("***************************************************"); 246 } 247 }
原文地址:https://www.cnblogs.com/26never/p/9576522.html
时间: 2024-10-07 13:39:46