Java学生信息增删改查(并没用数据库)
一个泛型的应用,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;
} }
也是泛型的应用
Java学生信息增删改查(并没用数据库)的更多相关文章
- Spring Boot实现学生信息增删改查
上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作. 我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQ ...
- MVC模式的学生信息增删改查
准备:建一个名为 userdb的数据库.建一个student表,有stuid,stuname,gender三个字段.其中stuid为主键.j加入相应的驱动包,相应的JSTL标签 先看目录结构 代码: ...
- Sqlite3 实现学生信息增删改查
import sqlite3 conn = sqlite3.connect('studentsdb.db') # 连接数据库 cursor = conn.cursor( ) # 创建数据表 def c ...
- Model1模式的学生信息增删改查
Student.java package entity; public class Student { private int stuid; private String stuname; priva ...
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...
- 【良心保姆级教程】java手把手教你用swing写一个学生的增删改查模块
很多刚入门的同学,不清楚如何用java.swing去开发出一个系统? 不清楚如何使用java代码去操作数据库进行增删改查一些列操作,不清楚java代码和数据库(mysql.sqlserver)之间怎么 ...
- 百度鹰眼Java接口调用增删改查实例
因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...
- JDBC+Servlet+JSP的学生案例增删改查
数据库信息传输到页面实现. 先进行学生信息页面展示: 接口IStudentDao public interface IStudentDao { /** * 保存操作 * @param stu 学生对象 ...
随机推荐
- java发送http请求,内容为xml格式&&传统URI类请求
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...
- SQL中select与set的区别
转自 : http://www.cnblogs.com/4mylife/archive/2012/10/25/2738466.html 下表列出 SET 与 SELECT 的区别 SELECT S ...
- python学习之----用虚拟环境保存库文件
如果你同时负责多个Python 项目,或者想要轻松打包某个项目及其关联的库文件,再 或者你担心已安装的库之间可能有冲突,那么你可以安装一个Python 虚拟环境来分而 治之. 当一个Python 库不 ...
- 利用goole guava 下载文件到本地
package com.road.crawler.meizitu.crawler; import java.io.File; import java.io.IOException; import ja ...
- 进程池----Pool(老的方式)----回调
之后的进程池使用的是 ProcessPoolExecutor,它的底层使用的就是pool 为什么要有进程池?进程池的概念. 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星 ...
- UVA-755-排序
奇怪,我怎么还有一个排序题目没过 题意如下: 公司喜欢有难忘的电话号码,一个让电话号码变得难忘的方式是有一个拼读起来难忘的单词,比如,你可以呼叫University of Waterloo通过拨打难忘 ...
- ASCII和万国码
ASCII和万国码 什么是ASCII 计算机的起初是使用内存中的0101来表示数和机器码.如何用内存中的bit来表示文本一直困扰着人们,毕竟人类主要的信息展示是文字,而不是苦涩的0101.后来ASCI ...
- Nginx相关笔记
相关参考: 编译安装测试nginx https://www.cnblogs.com/jimisun/p/8057156.html
- HTML5 监听移动端浏览器返回键兼容版本
// 往windosw对象中的历史记录注入URL的方法 function addUrl() { var state = { title: "title", url: "# ...
- git提交到远程仓库
Git概述 什么是Git? 刚开始对这个东西也感到挺迷茫,并且问了好多已经学习android一段时间的同学也是一头雾水,直到了解并使用之后,才体会到Git的好处以及重要意义. Git:是目前世界上最先 ...