马上要进行java基础考试了,闲着写一次博客,把这10周学的东西过一遍,可能没过全,.....但是我觉得增删改查是必须的,以前一直不会用ArrayList  自定义对象....... 案例如下:自己根据以前写的作业想的哈!!!

1 学生信息管理系统 有姓名 性别 年龄 电话 其中 性别必须定义为布尔型 但是你输入值的时候 要输入男女 ,这就用到了 转化

2 实现对学生管理的添加 修改 删除(这个我没写,没时间了,要打一把游戏)修改 写到文件等操作;

3 自定义一异常类(算是画蛇添足人家本来就有,自己非要定义一下, 回顾一下)

//主函数Tel.java

package 周四考试练习一波;

import java.io.IOException;
import java.util.Scanner; public class Tel { public static void main(String[] args) throws ExecptionDemo, IOException {
// TODO 自动生成的方法存根
menu();
} public static void menu() throws ExecptionDemo, IOException//这是菜单函数递归调用就很舒服
{Scanner scanner =new Scanner(System.in);
Method mm=new Method();
System.out.println("--------学生信息管理系统-------");
System.out.println("1 添加");
System.out.println("2 显示");
System.out.println("3 查询");
System.out.println("4 修改");
System.out.println("5 写到文件");
System.out.println("6 读入文件");
System.out.println("--------学生信息管理系统-------");
System.out.println("请输入要选定的序号!");
int choose=scanner.nextInt();
switch (choose) {
case :
//添加
{mm.add(); menu();break;} case :
//显示
{mm.show(); menu();break;}
case :
//删除
{mm.delete(); menu();break;}
case :
//修改
{mm.update(); menu();break;}
case :
//写到文件
{mm.writeit(); menu();break;}
case :
//读入文件
{mm.readit(); menu();break;}
default:
System.out.println("输入无效即将推出");System.exit();break;
} } }

user.java 函数

package 周四考试练习一波;

public class User {
public User(String name, int age, boolean sex, int phone) {
super();
this.name = name;
this.age = age;
this.sex = sex;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean getsex() {
return sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isSex() {
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
public int getPhone() {
return phone;
}
public void setPhone(int phone) {
this.phone = phone;
}
private String name;
private int age;
private boolean sex;
private int phone;
}

  method.java函数

package 周四考试练习一波;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner; public class Method {
Scanner scanner=new Scanner(System.in);
static ArrayList<User>arrayList=new ArrayList<User>();//这个必须定义为静态的要不不能全局使用,刚开始写错了
public boolean converseto(String a)//这是由男转化为boolean型的函数------我特么蛋疼写完之后发现还不如直接重载
{if(a=="男")
{return true;
}else
return false;
}
public String converseto(boolean a)//原谅我新手没重载
{if(a==true)
{return "男";
}else
return "女";
}
public void add()//添加函数一次添加一个
{
System.out.println("请输入 姓名");
String name=scanner.next();
System.out.println("请输入 年龄");
int age=scanner.nextInt();
System.out.println("请输入 性别");
String sex=scanner.next();
System.out.println("请输入 手机号");
int phone=scanner.nextInt();
arrayList.add(new User(name, age, converseto(sex), phone)); }
public void show()
{
for(User temp:arrayList)
{
System.out.println("姓名 "+temp.getName()+" 年龄 "+temp.getAge()+" 性别 "+converseto(temp.getsex())+" 手机号 "+temp.getPhone()); } }
public void delete() throws ExecptionDemo//这是查询函数,没写功能我也不该名字了怪麻烦的
{System.out.println("请输入要查找的姓名或者手机号");
String find=scanner.next();
int flag=;
for(User temp:arrayList)
{
if(temp.getName().equals(find)||(temp.getPhone()+"").equals(find))
{
System.out.println("姓名 "+temp.getName()+" 年龄 "+temp.getAge()+" 性别 "+converseto(temp.getsex())+" 手机号 "+temp.getPhone());
flag=;
break;
} } if(flag==)
{System.out.println("文件未找到");
throw new ExecptionDemo("文件未找到"); } }
public void update() throws ExecptionDemo//修改函数
{
System.out.println("请输入要查找的姓名或者手机号");
String find=scanner.next();
int flag=;
for(User temp:arrayList)
{
if(temp.getName().equals(find)||(temp.getPhone()+"").equals(find))
{System.out.println("请输入 姓名");
temp.setName(scanner.next());
System.out.println("请输入 年龄");
temp.setAge(scanner.nextInt());
System.out.println("请输入 性别");
temp.setSex(converseto(scanner.next()));
System.out.println("请输入 手机号");
temp.setAge(scanner.nextInt());
flag=;
System.out.println("修改成功");
break;
} } if(flag==)
{System.out.println("文件未找到");
throw new ExecptionDemo("文件未找到"); } } public void writeit() throws IOException//写到文件函数
{BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(new File("1.txt"),true)); for(User temp:arrayList)
{bufferedWriter.write("姓名 "+temp.getName()+" 年龄 "+temp.getAge()+" 性别 "+converseto(temp.getsex())+" 手机号 "+temp.getPhone()+"\r\n");
}
bufferedWriter.flush();
bufferedWriter.close();
}
public void readit() throws IOException//将文件读入内存函数,读进去之后可以进行查询修改的,,因为你读入了内存
{
BufferedReader bufferedReader=new BufferedReader(new FileReader("1.txt")); String temp=bufferedReader.readLine();
while(temp!=null)
{String b[]= temp.split(" ");
temp=bufferedReader.readLine();
arrayList.add(new User(b[],Integer.parseInt(b[]),converseto(b[]),Integer.parseInt(b[])));
System.out.println(Arrays.toString(b));
};
System.out.println("导入文件成功");
bufferedReader.close();
} }

//自定义异常类函数ExecptionDemo.java

package 周四考试练习一波;

public class ExecptionDemo extends Exception{
public ExecptionDemo(String e) throws ExecptionDemo
{super(e); } }

截图如下:............................

最新文章

  1. 淘宝WAP版小BUG分析
  2. sp_executeSql 用法
  3. vmware
  4. Android使用Java Mail API发送邮件
  5. WPF Litbox样式和模板
  6. 基于LR的HTTP协议接口性能测试脚本实例
  7. 2016年10月16日 星期日 --出埃及记 Exodus 18:27
  8. 个人博客 week1
  9. c# 调用MD5CryptoServiceProvider出现 System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
  10. Linux第三节
  11. 【Zookeeper】Zookeeper安装配置
  12. 关于JDK和eclipse的安装和汉化
  13. &lt;五&gt;企业级开源仓库nexus3实战应用–使用nexus3配置npm私有仓库
  14. 2017-12-15python全栈9期第二天第四节之格式化输出%s和个人简介模板
  15. js计算base64文件流大小
  16. 51nod 1020 逆序排列
  17. ES代码总结2
  18. Redis学习笔记9--Redis持久化
  19. 一款CSS3仿Google Play的垂直菜单
  20. Python+Webdriver,中文前加u是unicode格式编码的意思

热门文章

  1. 【原】php中fastcgi和php-fpm是什么东西
  2. 【PAT甲级】1005 Spell It Right (20 分)
  3. 一个Android音频文本同步的英文有声读物App的开发过程
  4. springmvc 请求出现400错误(当传入的参数类型是Date时加上下面代码试试)
  5. 表格中td限宽溢出以省略号代替
  6. ubuntu 14 双击会自动删除文本
  7. C语言动静态链接库使用(笔记)
  8. 五 RequestMapping的使用
  9. java并发:原子类之AtomicLong
  10. JDBC--获取数据库连接