1. 程式人生 > >Java_學生信息管理系統——數組版——初次編寫

Java_學生信息管理系統——數組版——初次編寫

case remove 參數 style stat lec 學生 默認 manage

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 }

Java_學生信息管理系統——數組版——初次編寫