Java学生信息增删改查(并没用数据库)

时间:2022-04-30 15:27:19

一个泛型的应用,Java版本增删改查,写的简陋,望批评指正

2016-07-02

很久前写的一个程序了。拿出来存一下,不是为了展示啥,自己用的时候还可以看看。写的很粗糙。

 

  1 import java.io.BufferedReader;
  2 import java.io.File;
  3 import java.io.FileNotFoundException;
  4 import java.io.FileReader;
  5 import java.io.IOException;
  6 import java.util.Comparator;
  7 import java.util.HashMap;
  8 import java.util.HashSet;
  9 import java.util.Iterator;
 10 import java.util.Map;
 11 import java.util.Scanner;
 12 import java.util.Set;
 13 import java.util.TreeSet;
 14 
 15 
 16 public class studen  implements Comparable<studen>{
 17     public int id;
 18     public String name;
 19     public char sex;
 20     public String address;
 21     public int javascore;
 22     public int cscore;
 23     public int byscore;
 24     public int j2eescore;
 25     public int getId() {
 26         return id;
 27     }
 28     public void setId(int id) {
 29         this.id = id;
 30     }
 31     public String getName() {
 32         return name;
 33     }
 34     public void setName(String name) {
 35         this.name = name;
 36     }
 37     public char getSex() {
 38         return sex;
 39     }
 40     public void setSex(char sex) {
 41         this.sex = sex;
 42     }
 43     public String getAddress() {
 44         return address;
 45     }
 46     public void setAddress(String address) {
 47         this.address = address;
 48     }
 49     public int getJavascore() {
 50         return javascore;
 51     }
 52     public void setJavascore(int javascore) {
 53         this.javascore = javascore;
 54     }
 55     public int getCscore() {
 56         return cscore;
 57     }
 58     public void setCscore(int cscore) {
 59         this.cscore = cscore;
 60     }
 61     public int getByscore() {
 62         return byscore;
 63     }
 64     public void setByscore(int byscore) {
 65         this.byscore = byscore;
 66     }
 67     public int getJ2eescore() {
 68         return j2eescore;
 69     }
 70     public void setJ2eescore(int j2eescore) {
 71         this.j2eescore = j2eescore;
 72     }
 73     public void setall(int id, String name,char sex,String address,int javascore,int cscore, int byscore,int j2eescore)
 74     {
 75         this.id=id;
 76         this.address=address;
 77         this.name=name;
 78         this.byscore=byscore;
 79         this.cscore=cscore;
 80         this.j2eescore=j2eescore;
 81         this.sex=sex;
 82         this.javascore=javascore;
 83     }
 84     
 85     @Override
 86     public String toString() {
 87         return "studen [id=" + id + ", name=" + name + ", sex=" + sex
 88                 + ", address=" + address + ", javascore=" + javascore
 89                 + ", cscore=" + cscore + ", byscore=" + byscore
 90                 + ", j2eescore=" + j2eescore + "]";
 91     }
 92     
 93     public static void main(String[] args) {
 94         // TODO Auto-generated method stub
 95         Set<studen> A=new HashSet<studen>();
 96         ////
 97         
 98         /////
 99          File file = new File("infor.txt");
100          if(file.exists()&&file.isFile())
101          {
102              try {
103                 FileReader read=new FileReader("infor.txt");
104                 BufferedReader  re=new BufferedReader (read);
105                 String str;
106                 while((str=re.readLine())!=null)
107                 {
108                     //System.out.println(str);
109                     
110                     String arr[]=str.split(" ");
111                     studen st=new studen();
112                     st.setId(Integer.parseInt(arr[0]));
113                     st.setName(arr[1]);
114                     st.setSex(arr[2].charAt(0));
115                     st.setAddress(arr[3]);
116                     st.setJavascore(Integer.parseInt(arr[4]));
117                     st.setJavascore(Integer.parseInt(arr[5]));
118                     st.setByscore(Integer.parseInt(arr[6]));
119                     st.setJ2eescore(Integer.parseInt(arr[7]));
120                     System.out.println(st.toString());
121                     A.add(st);
122                     
123                     //System.out.println();
124                 }
125                 
126                 for(Iterator<studen> it=A.iterator();it.hasNext();)
127                 {
128                     String ss=it.next().toString();
129                     System.out.println("HashSet1***:"+ss+" ");
130                 }
131             } catch (FileNotFoundException e) {
132                 // TODO Auto-generated catch block
133                 System.out.print("can not read the txt");
134                 e.printStackTrace();
135             } catch (IOException e) {
136                 // TODO Auto-generated catch block
137                 e.printStackTrace();
138             }
139              
140              }
141          //插入一个新的student对象给集合SET
142          System.out.print("插入一个学生 2, GOQI, f,beijing, 90, 89, 78,94:");
143          studen stu2=new studen();
144         stu2.setall(2, "GOQI", 'f',"beijing", 90, 89, 78,94);
145         A.add(stu2);
146         TreeSet<studen> ts=new TreeSet<studen>();
147         for(Iterator<studen> it=A.iterator();it.hasNext();)
148         {
149         studen cad=it.next();
150             ts.add(cad);
151         }
152         for(Iterator<studen> it2=ts.iterator();it2.hasNext();)
153         {
154             System.out.println("Treeset(按ID排序结果):"+it2.next().toString());
155         }
156         //serach student
157         System.out.println("输入待查学生姓名:");
158         Scanner cin=new Scanner(System.in);
159         if(cin.hasNext())
160         {
161             String name=cin.next();
162             studen s1=new studen();
163             
164             ///?
165             int flage=0;
166             studen Temp;
167             for(Iterator<studen> it=A.iterator();it.hasNext();)
168             {
169                 Temp = it.next();
170                 if(Temp .getName().equals(name))
171                 {
172                     flage=1;
173                     System.out.println("exist this student.");
174                     System.out.println("该生信息为:"+Temp.toString());
175                     break;
176                 }
177                 else
178                 {
179                     ;
180                 }
181             }
182             if(flage==0)
183             {
184                 System.out.println("Not exist this student.");
185             }
186         }
187         //删除学生
188         
189         System.out.println("输入待删除学生姓名:");
190         Scanner cin2=new Scanner(System.in);
191         if(cin2.hasNext())
192         {
193             String name2=cin2.next();
194 
195             int flage=0;
196             studen Temp;
197             for(Iterator<studen> it=A.iterator();it.hasNext();)
198             {
199                 Temp = it.next();
200                 if(Temp .getName().equals(name2))
201                 {
202                     flage=1;
203                     it.remove();
204                     System.out.println("removed this student.");
205                     
206                     break;
207                 }
208                 
209             }
210             if(flage==0)
211             {
212                 System.out.println("Not exist this student so we can not remove it.");
213             }
214         }
215       //map
216         Map<Integer,TreeSet<studen>> map=new HashMap<Integer, TreeSet<studen>>();
217         TreeSet<studen> tm0=new TreeSet<studen>();
218         TreeSet<studen> tm1=new TreeSet<studen>();
219         TreeSet<studen> tm2=new TreeSet<studen>();
220         TreeSet<studen> tm3=new TreeSet<studen>();
221         TreeSet<studen> tm4=new TreeSet<studen>();
222         Iterator<studen> treeit=ts.iterator();
223         
224         studen sno=new studen();
225         //将学生信息按照%5ID对应treeset 依次放入。
226         while(treeit.hasNext())
227         {
228             sno=(studen) treeit.next();
229             if(sno.getId()%5==0)
230             {
231                 tm0.add(sno);
232             }
233             else if(sno.getId()%5==1)
234             {
235                 tm1.add(sno);
236             }
237             else if(sno.getId()%5==2)
238             {
239                 tm2.add(sno);
240             }
241             else if(sno.getId()%5==3)
242             {
243                 tm3.add(sno);
244             }
245             else
246             {
247                 tm4.add(sno);
248             }
249         }
250         
251         map.put(0,tm0);
252         map.put(1,tm1);
253         map.put(2,tm2);
254         map.put(3,tm3);
255         map.put(4,tm4);
256         ////print map
257         System.out.println("map id:0~4(%5):");
258             for(Object o : map.keySet()){  
259                   
260                System.out.println( "map输出:"+map.get(o).size()+"个:"+map.get(o).toString()); } 
261     }//main
262     
263     
264     
265     @Override
266     public int hashCode() {
267         final int prime = 31;
268         int result = 1;
269         result = prime * result + id;
270         return result;
271     }
272     @Override
273     public boolean equals(Object obj) {
274         if (this == obj)
275             return true;
276         if (obj == null)
277             return false;
278         if (getClass() != obj.getClass())
279             return false;
280         studen other = (studen) obj;
281         if (id != other.id)
282             return false;
283         System.out.println("!!!id 重复无法插入,重复ID为:"+id);
284         return true;
285     }
286     @Override
287     public int compareTo(studen o) {
288         // TODO Auto-generated method stub
289         int result=this.getId()>o.getId()?1:
290             (this.getId()==o.getId()?0:-1);
291         return result;
292     }
293 
294 }

 

也是泛型的应用