zoukankan      html  css  js  c++  java
  • 简陋学生管理操作

    【该类只是测试类】

    1
    //测试类 2 package studenttest; 3 4 import view.View; 5 6 public class Test { 7 public static void main(String[] args) { 8 new View().show(); 9 } 10 }

    =================================================================================

     
    【该类为学生信息属性类】


    1
    //创建学生信息 2 package data; 3 4 public class Student { 5 private int id; 6 private int age; 7 private String name; 8 9 public int getId() { 10 return id; 11 } 12 13 public void setId(int id) { 14 this.id = id; 15 } 16 17 public int getAge() { 18 return age; 19 } 20 21 public void setAge(int age) { 22 this.age = age; 23 } 24 25 public String getName() { 26 return name; 27 } 28 29 public void setName(String name) { 30 this.name = name; 31 } 32 33 @Override  
    34 public String toString() { 35 return "Student [id=" + id + ", age=" + age + ", name=" + name + "]"; 36 } 37 38 }

    =================================================================================

      
    【该类只用于在控制台显示的内容】

    1
    //学生管理操作_显示 2 package view; 3 4 import java.util.List; 5 import java.util.Scanner; 6 7 import operate.Operate; 8 import data.Student; 9 10 public class View { 11 Scanner sc = new Scanner(System.in); 12 13 public void show() { 14 while (true) { // 无限循环 15 System.out 16 .println("请选择需要的操作:1.添加学生信息;2.查找学生信息;3.删除学生信息;4.查看全部学生信息;5.修改学生信息;6.退出"); 17 int temp = sc.nextInt(); // 对选择的操作进行临时储存 18 switch (temp) { // 进行对应的操作 19 case 1: 20 add(); // 进行添加操作 21 break; 22 case 2: 23 find(); // 进行查找单个学生操作 24 break; 25 case 3: 26 del(); // 进行删除单个学生的操作 27 break; 28 case 4: 29 findAll(); // 进行查看全部信息的操作 30 break; 31 case 5: 32 dataup(); // 进行修改某个学生信息的操作 33 break; 34 case 6: 35 exit(); // 进行退出操作 36 break; 37 38 } 39 } 40 } 41 42 private void exit() { 43 // TODO Auto-generated method stub 44 Operate op = new Operate(); 45 op.exit(); 46 } 47 48 private void dataup() { 49 // TODO Auto-generated method stub 50 System.out.println("请输入要修改学生的id" ); 51 int id = sc.nextInt(); 52 System.out.println("请输入要修改学生的age"); 53 int age = sc.nextInt(); 54 System.out.println("请输入要修改学生的name"); 55 String name = sc.next(); 56 Operate op = new Operate(); 57 Student st = new Student(); 58 st.setId(id); 59 st.setAge(age); 60 st.setName(name); 61 if(op.dataup(st)){ 62 //修改成功 63 System.out.println("修改成功"); 64 }else{ 65 System.out.println("修改失败"); 66 } 67 } 68 69 private void findAll() { 70 // TODO Auto-generated method stub 71 Operate op = new Operate(); 72 // System.out.println(op.findAll() + " "); //可以打印出,但是不能分行 73 List<Student> l = op.findAll(); 74 for(Student s : l){ 75 System.out.println(s); 76 } 77 } 78 79 private void del() { 80 // TODO Auto-generated method stub 81 System.out.println("请输入要删除的学生id"); 82 int id = sc.nextInt(); 83 Operate op = new Operate(); 84 if (op.del(id)) { 85 // 删除成功 86 System.out.println("删除成功"); 87 } else { 88 System.out.println("删除失败"); 89 } 90 } 91 92 private void find() { 93 // TODO Auto-generated method stub 94 System.out.println("请输入要查找学生的id"); 95 int id = sc.nextInt(); 96 Operate op = new Operate(); 97 if (op.find(id) != null) { 98 System.out.println(op.find(id)); 99 } else { 100 System.out.println("没有该学生"); 101 } 102 } 103 104 private void add() { 105 // TODO Auto-generated method stub 106 System.out.println("请输入要添加的学生id"); 107 int id = sc.nextInt(); 108 System.out.println("请输入要添加学生的age"); 109 int age = sc.nextInt(); 110 System.out.println("请输入要添加的学生name"); 111 String name = sc.next(); 112 Student st = new Student(); 113 st.setId(id); 114 st.setAge(age); 115 st.setName(name); 116 Operate op = new Operate(); 117 if (op.add(st)) { 118 System.out.println("录入成功"); 119 } else { 120 System.out.println("已存在该id"); 121 } 122 } 123 }

    =================================================================================

      1 //学生管理操作_操作
      2 package operate;
      3 
      4 import java.io.BufferedReader;
      5 import java.io.BufferedWriter;
      6 import java.io.File;
      7 import java.io.FileFilter;
      8 import java.io.FileNotFoundException;
      9 import java.io.FileReader;
     10 import java.io.FileWriter;
     11 import java.io.IOException;
     12 import java.util.ArrayList;
     13 import java.util.List;
     14 
     15 import data.Student;
     16 
     17 public class Operate {
     18     private File file = new File("StudentData"); // 创建用于存储学生信息的文件夹
     19 
     20     // 查找学生id是否已存在
     21     public boolean check(int id) {
     22         File f = new File(file, id + ".st");
     23         return f.exists(); // 返回是否已存在该id
     24     }
     25 
     26     // 修改某个学生信息
     27     public boolean dataup(Student st) {
     28         // TODO Auto-generated method stub
     29         if (check(st.getId())) {
     30             // 学生id存在
     31             BufferedWriter bw = null;
     32             try {
     33                 bw = new BufferedWriter(new FileWriter(new File(file,
     34                         st.getId() + ".st")));
     35                 bw.write(String.valueOf(st.getId()));
     36                 bw.newLine();
     37                 bw.write(String.valueOf(st.getAge()));
     38                 bw.newLine();
     39                 bw.write(st.getName());
     40                 bw.flush();
     41                 
     42             } catch (IOException e) {
     43                 // TODO Auto-generated catch block
     44                 e.printStackTrace();
     45                 
     46             } finally {
     47                 if (bw != null) {
     48                     try {
     49                         bw.close();
     50                     } catch (IOException e) {
     51                         // TODO Auto-generated catch block
     52                         e.printStackTrace();
     53                     }
     54                 }
     55             }
     56             return true;
     57         }
     58         else{
     59             return false;
     60         }
     61     }
     62 
     63     // 查看全部学生信息
     64     public List<Student> findAll() {
     65         // TODO Auto-generated method stub
     66         // 创建一个Student类型的学生集合
     67         List<Student> list = new ArrayList<Student>();
     68         // 筛选要添加到集合中的“.st”文件
     69         File[] f = file.listFiles(new FileFilter() {
     70 
     71             @Override
     72             public boolean accept(File pathname) {
     73                 // TODO Auto-generated method stub
     74                 return pathname.getName().endsWith(".st");
     75             }
     76         });
     77         // 遍历File[]并添加到List集合中
     78         for (File fs : f) {
     79             Student s = new Student();// 要添加到List集合中必须是Student类型
     80             BufferedReader br = null;
     81             try {
     82                 br = new BufferedReader(new FileReader(fs));
     83                 s.setId(Integer.parseInt(br.readLine()));// 须将“.st”文件中String类型转换成int类型读出
     84                 s.setAge(Integer.parseInt(br.readLine()));// readLine()为读取一行
     85                 s.setName(br.readLine());
     86             } catch (NumberFormatException e) {
     87                 // TODO Auto-generated catch block
     88                 e.printStackTrace();
     89             } catch (IOException e) {
     90                 // TODO Auto-generated catch block
     91                 e.printStackTrace();
     92             } finally {
     93                 if (br != null) {
     94                     try {
     95                         br.close();
     96                     } catch (IOException e) {
     97                         // TODO Auto-generated catch block
     98                         e.printStackTrace();
     99                     }
    100                 }
    101             }
    102             list.add(s);
    103         }
    104         return list;
    105     }
    106 
    107     // 删除某个学生
    108     public boolean del(int id) {
    109         // TODO Auto-generated method stub
    110         File f = new File(file, id + ".st");
    111         if (check(id)) {
    112             // 存在该学号
    113             f.delete();
    114             return true;
    115         } else {
    116             return false;
    117         }
    118     }
    119 
    120     // 查找某一个学生信息操作
    121     public Student find(int id) {
    122         // TODO Auto-generated method stub
    123         Student s = new Student();
    124         if (check(id)) {
    125             // 该学生存在
    126             BufferedReader br = null;
    127             try {
    128                 br = new BufferedReader(new FileReader(new File(file, id
    129                         + ".st")));
    130                 s.setId(Integer.parseInt(br.readLine()));// Integer.parseInt是将字符串变成int
    131                 s.setAge(Integer.parseInt(br.readLine()));
    132                 s.setName(br.readLine());
    133             } catch (NumberFormatException e) {
    134                 // TODO Auto-generated catch block
    135                 e.printStackTrace();
    136             } catch (IOException e) {
    137                 // TODO Auto-generated catch block
    138                 e.printStackTrace();
    139             } finally {
    140                 try {
    141                     if (br != null) {
    142                         br.close();
    143                     }
    144                 } catch (IOException e) {
    145                     // TODO Auto-generated catch block
    146                     e.printStackTrace();
    147                 }
    148             }
    149             return s;
    150         } else {
    151             // 不存在该学生id
    152             return null;
    153         }
    154     }
    155 
    156     // 添加学生信息操作
    157     public boolean add(Student st) {
    158         // TODO Auto-generated method stub
    159         BufferedWriter bw = null;// 包装一个写入流
    160         if (!check(st.getId())) {// 检查要添加的学生id是否已经存在
    161             // 该学生不存在则可以被添加
    162             File f = new File(file, st.getId() + ".st"); // 在StudentDate文件夹中创建一个学生信息文件,并以学生学号+“.st”命名
    163             try {
    164                 bw = new BufferedWriter(new FileWriter(f));
    165                 bw.write(String.valueOf(st.getId())); // 向文件中写入学生的学号
    166                 bw.newLine(); // 写入一个换行
    167                 bw.write(String.valueOf(st.getAge())); // 向文件中写入学生的年龄
    168                 bw.newLine();
    169                 bw.write(st.getName());
    170                 bw.flush(); // 刷新写入后的文件
    171             } catch (IOException e) {
    172                 // TODO Auto-generated catch block
    173                 e.printStackTrace();
    174             } finally { // 不论执行try还是catch,都执行finally
    175                 try {
    176                     if (bw != null) {
    177                         bw.close(); // 关闭流
    178                     }
    179                 } catch (IOException e) {
    180                     // TODO Auto-generated catch block
    181                     e.printStackTrace();
    182                 }
    183             }
    184             return true;
    185         } else {
    186             // 存在该学生id不能创建
    187             return false;
    188         }
    189     }
    190 
    191     //停止操作
    192     public void exit() {
    193         // TODO Auto-generated method stub
    194         System.exit(0);
    195     }
    196 
    197 }
  • 相关阅读:
    如何消除一个数组里面重复的元素?
    行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
    简述一下src与href的区别
    请说出三种减少页面加载时间的方法
    SQL大全
    11.Hibernate 拦截器
    10.Hibernate 批处理
    9.Hibernate 缓存
    8.Hibernate 原生 SQL
    7.Hibernate 标准查询
  • 原文地址:https://www.cnblogs.com/paomoopt/p/3754821.html
Copyright © 2011-2022 走看看