Java_学生信息管理系统——数组版——初次编写

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 }