Java学生信息增删改查(并没用数据库)
2016-07-02 20:34
645 查看
一个泛型的应用,Java版本增删改查,写的简陋,望批评指正
2016-07-02
很久前写的一个程序了。拿出来存一下,不是为了展示啥,自己用的时候还可以看看。写的很粗糙。
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; import java.util.TreeSet; public class studen implements Comparable<studen>{ public int id; public String name; public char sex; public String address; public int javascore; public int cscore; public int byscore; public int j2eescore; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public char getSex() { return sex; } public void setSex(char sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public int getJavascore() { return javascore; } public void setJavascore(int javascore) { this.javascore = javascore; } public int getCscore() { return cscore; } public void setCscore(int cscore) { this.cscore = cscore; } public int getByscore() { return byscore; } public void setByscore(int byscore) { this.byscore = byscore; } public int getJ2eescore() { return j2eescore; } public void setJ2eescore(int j2eescore) { this.j2eescore = j2eescore; } public void setall(int id, String name,char sex,String address,int javascore,int cscore, int byscore,int j2eescore) { this.id=id; this.address=address; this.name=name; this.byscore=byscore; this.cscore=cscore; this.j2eescore=j2eescore; this.sex=sex; this.javascore=javascore; } @Override public String toString() { return "studen [id=" + id + ", name=" + name + ", sex=" + sex + ", address=" + address + ", javascore=" + javascore + ", cscore=" + cscore + ", byscore=" + byscore + ", j2eescore=" + j2eescore + "]"; } public static void main(String[] args) { // TODO Auto-generated method stub Set<studen> A=new HashSet<studen>(); //// ///// File file = new File("infor.txt"); if(file.exists()&&file.isFile()) { try { FileReader read=new FileReader("infor.txt"); BufferedReader re=new BufferedReader (read); String str; while((str=re.readLine())!=null) { //System.out.println(str); String arr[]=str.split(" "); studen st=new studen(); st.setId(Integer.parseInt(arr[0])); st.setName(arr[1]); st.setSex(arr[2].charAt(0)); st.setAddress(arr[3]); st.setJavascore(Integer.parseInt(arr[4])); st.setJavascore(Integer.parseInt(arr[5])); st.setByscore(Integer.parseInt(arr[6])); st.setJ2eescore(Integer.parseInt(arr[7])); System.out.println(st.toString()); A.add(st); //System.out.println(); } for(Iterator<studen> it=A.iterator();it.hasNext();) { String ss=it.next().toString(); System.out.println("HashSet1***:"+ss+" "); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block System.out.print("can not read the txt"); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //插入一个新的student对象给集合SET System.out.print("插入一个学生 2, GOQI, f,beijing, 90, 89, 78,94:"); studen stu2=new studen(); stu2.setall(2, "GOQI", 'f',"beijing", 90, 89, 78,94); A.add(stu2); TreeSet<studen> ts=new TreeSet<studen>(); for(Iterator<studen> it=A.iterator();it.hasNext();) { studen cad=it.next(); ts.add(cad); } for(Iterator<studen> it2=ts.iterator();it2.hasNext();) { System.out.println("Treeset(按ID排序结果):"+it2.next().toString()); } //serach student System.out.println("输入待查学生姓名:"); Scanner cin=new Scanner(System.in); if(cin.hasNext()) { String name=cin.next(); studen s1=new studen(); ///? int flage=0; studen Temp; for(Iterator<studen> it=A.iterator();it.hasNext();) { Temp = it.next(); if(Temp .getName().equals(name)) { flage=1; System.out.println("exist this student."); System.out.println("该生信息为:"+Temp.toString()); break; } else { ; } } if(flage==0) { System.out.println("Not exist this student."); } } //删除学生 System.out.println("输入待删除学生姓名:"); Scanner cin2=new Scanner(System.in); if(cin2.hasNext()) { String name2=cin2.next(); int flage=0; studen Temp; for(Iterator<studen> it=A.iterator();it.hasNext();) { Temp = it.next(); if(Temp .getName().equals(name2)) { flage=1; it.remove(); System.out.println("removed this student."); break; } } if(flage==0) { System.out.println("Not exist this student so we can not remove it."); } } //map Map<Integer,TreeSet<studen>> map=new HashMap<Integer, TreeSet<studen>>(); TreeSet<studen> tm0=new TreeSet<studen>(); TreeSet<studen> tm1=new TreeSet<studen>(); TreeSet<studen> tm2=new TreeSet<studen>(); TreeSet<studen> tm3=new TreeSet<studen>(); TreeSet<studen> tm4=new TreeSet<studen>(); Iterator<studen> treeit=ts.iterator(); studen sno=new studen(); //将学生信息按照%5ID对应treeset 依次放入。 while(treeit.hasNext()) { sno=(studen) treeit.next(); if(sno.getId()%5==0) { tm0.add(sno); } else if(sno.getId()%5==1) { tm1.add(sno); } else if(sno.getId()%5==2) { tm2.add(sno); } else if(sno.getId()%5==3) { tm3.add(sno); } else { tm4.add(sno); } } map.put(0,tm0); map.put(1,tm1); map.put(2,tm2); map.put(3,tm3); map.put(4,tm4); ////print map System.out.println("map id:0~4(%5):"); for(Object o : map.keySet()){ System.out.println( "map输出:"+map.get(o).size()+"个:"+map.get(o).toString()); } }//main @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + id; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; studen other = (studen) obj; if (id != other.id) return false; System.out.println("!!!id 重复无法插入,重复ID为:"+id); return true; } @Override public int compareTo(studen o) { // TODO Auto-generated method stub int result=this.getId()>o.getId()?1: (this.getId()==o.getId()?0:-1); return result; } }
也是泛型的应用
相关文章推荐
- Spring Security(10)——退出登录logout
- Spring Security(09)——Filter
- java进阶(七)------多线程---多线程操作同一变量
- Spring Security(08)——intercept-url配置
- Spring Security(07)——缓存UserDetails
- java进阶(七)------多线程---多线程操作同一变量
- Spring Security(06)——AuthenticationProvider
- Spring Security(05)——异常信息本地化
- Spring Security(04)——认证简介
- Spring Security(03)——核心类简介
- Spring Security(02)——关于登录
- Spring Security(01)——初体验
- Spring Security优劣之我见
- Java 深浅拷贝
- Spring Security 的大体框架和原理
- Java 7的新特性:文件监视器
- SpringMvc实现文件上传
- 第四天 :方法和递归,方法重载
- Java实现聚类算法k-means
- Eclipse 安装 cucumber-eclipse-plugin