马上要进行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 1: //添加 {mm.add(); menu();break;} case 2: //显示 {mm.show(); menu();break;} case 3: //删除 {mm.delete(); menu();break;} case 4: //修改 {mm.update(); menu();break;} case 5: //写到文件 {mm.writeit(); menu();break;} case 6: //读入文件 {mm.readit(); menu();break;} default: System.out.println("输入无效即将推出");System.exit(0);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=0; 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=1; break; } } if(flag==0) {System.out.println("文件未找到"); throw new ExecptionDemo("文件未找到"); } } public void update() throws ExecptionDemo//修改函数 { System.out.println("请输入要查找的姓名或者手机号"); String find=scanner.next(); int flag=0; 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=1; System.out.println("修改成功"); break; } } if(flag==0) {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()+" "); } 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[1],Integer.parseInt(b[3]),converseto(b[5]),Integer.parseInt(b[7]))); 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); } }
截图如下:............................