zoukankan      html  css  js  c++  java
  • 课堂测试四(文件读写)

    学生信息管理系统

    (本程序以文本方式存储数据,不通过数组,直接对文件进行操作)

    学生类

    Student.java

     1 public class Student {
     2     private String stunumber;            //学号
     3     private String name;                //姓名
     4     private int age;                    //年龄
     5     private boolean sex;                //性别
     6     private double score;                //分数
     7     
     8     /***构造方法***/
     9     public Student(String num,String name,int age,boolean sex,double score){
    10         stunumber = num;
    11         this.name = name;
    12         this.age = age;
    13         this.sex = sex;
    14         this.score = score;
    15     }
    16     
    17     /***get函数***/
    18     public String getNum(){                //取学号
    19         return stunumber;
    20     }
    21     public String getName(){            //取姓名
    22         return name;
    23     }
    24     public int getAge(){                //取年龄
    25         return age;
    26     }
    27     public boolean getSex(){            //取性别
    28         return sex;
    29     }
    30     public double score(){                //取分数
    31         return score;
    32     }
    33     
    34     /***set函数***/
    35     public void setNum(String num){                //设置学号
    36          stunumber = num;
    37     }
    38     public void setName(String name){            //设置姓名
    39          this.name = name;
    40     }
    41     public void setAge(int age){                //设置年龄
    42          this.age = age;
    43     }
    44     public void setSex(boolean sex){            //设置性别
    45          this.sex = sex;
    46     }
    47     public void score(double score){                //设置分数
    48          this.score = score;
    49     }
    50 }

    管理类

    StudentManager.java

      1 import java.io.*;
      2 import java.util.Scanner;
      3 public class StudentManager {
      4     
      5     /***主函数***/
      6     public static void main(String[] args) throws IOException {
      7         Scanner in = new Scanner(System.in);
      8         while(true){
      9             menu();
     10             int n = in.nextInt();
     11             switch(n){
     12             case 1:showStudent();break;
     13             case 2:
     14                 System.out.println("请依次输入学生的学号、姓名、年龄、性别(true/false)、分数:");
     15                 addStudent(in.next(),in.next(),in.nextInt(),in.nextBoolean(),in.nextDouble());
     16                 break;
     17             case 3:
     18                 System.out.println("输入要删除的学生的学号:");
     19                 deleteStudent(in.next());
     20                 break;
     21             case 4:
     22                 System.out.println("输入要修改的学生的学号,及修改后的姓名、年龄、性别(true/false)、分数:");
     23                 updateStudent(in.next(),in.next(),in.nextInt(),in.nextBoolean(),in.nextDouble());
     24                 break;
     25             case 5:
     26                 System.out.println("输入要查询的学生的学号:");
     27                 selectStudent(in.next());
     28                 break;
     29             }
     30         }
     31     }
     32     
     33     /***显示菜单***/
     34     public static void menu(){
     35         System.out.println("**********************************************************");
     36         System.out.println("                                           石家庄铁道大学信息科学与技术学院");
     37         System.out.println("                                                        学生信息管理系统V2.0");
     38         System.out.println("**********************************************************");
     39         System.out.println("                     1.遍历输出学生信息;");
     40         System.out.println("                     2.新学生信息录入;");
     41         System.out.println("                     3.删除学生信息;");
     42         System.out.println("                     4.修改学生信息;");
     43         System.out.println("                     5.查询学生信息;");
     44         System.out.println("**********************************************************");
     45     }
     46     
     47     /***显示所有学生信息 ***/
     48     public static void showStudent() throws IOException{
     49         File file = new File("student.dat");
     50         BufferedReader reader = null;
     51         reader = new BufferedReader(new FileReader(file));
     52         String tempString = null;
     53         while ((tempString = reader.readLine()) != null) {
     54             System.out.println(tempString);
     55         }
     56     }
     57     
     58     /***添加学生信息***/
     59     public static void addStudent(String stunumber,String name,int age,boolean sex,double score) throws IOException{
     60         FileWriter writer = new FileWriter("student.dat",true);
     61         String s;
     62         if(sex)
     63             s = "女";
     64         else s = "男";
     65         writer.append(stunumber + " " + name + " " + age + " " + s + " " + score + "
    ");
     66         writer.close();
     67         System.out.println("添加成功!");
     68     }
     69     
     70     /***删除学生信息 ***/
     71     public static void deleteStudent(String stunumber) throws IOException{
     72         
     73         StringBuffer all = new StringBuffer();
     74         File file = new File("student.dat");
     75         String temp;
     76         BufferedReader reader = new BufferedReader(new FileReader(file));
     77         
     78         while((temp = reader.readLine()) != null){
     79             if(!temp.startsWith(stunumber))
     80                 all.append(temp + "
    ");
     81         }
     82         reader.close();
     83         
     84         BufferedWriter writer = new BufferedWriter(new FileWriter(file));
     85         writer.write(all.toString());;
     86         writer.close();
     87         System.out.println("删除成功!");
     88     }
     89     
     90     /***更新学生信息***/
     91     public static void updateStudent(String stunumber,String name,int age,boolean sex,double score) throws IOException{
     92         StringBuffer all = new StringBuffer();
     93         File file = new File("student.dat");
     94         String temp,s;
     95         if(sex)
     96             s = "女";
     97         else s = "男";
     98         BufferedReader reader = new BufferedReader(new FileReader(file));
     99         
    100         while((temp = reader.readLine()) != null){
    101             if(!temp.startsWith(stunumber))
    102                 all.append(temp + "
    ");
    103             else all.append(stunumber + " " + name + " " + age + " " + s + " " + score + "
    ");
    104         }
    105         reader.close();
    106         
    107         BufferedWriter writer = new BufferedWriter(new FileWriter(file));
    108         writer.write(all.toString());;
    109         writer.close();
    110         System.out.println("修改成功!");
    111     }
    112     
    113     /***查询学生信息***/
    114     public static void selectStudent(String stunumber) throws IOException{
    115         File file = new File("student.dat");
    116         BufferedReader reader = new BufferedReader(new FileReader(file));
    117         String stuLine;
    118         while((stuLine = reader.readLine()) != null)
    119         {
    120             if(stuLine.startsWith(stunumber))
    121             {
    122                 System.out.println(stuLine);
    123                 return;
    124             }
    125         }
    126         System.out.println("查询结果为空!");
    127     }
    128 }
  • 相关阅读:
    C++网络编程服务器select模型(参考)
    javascript中多维数组的使用
    C++ 网络编程 阻塞I/O模型并发回显服务器
    指针在javascript的使用方式
    C++网络编程之服务器编程
    C++网络编程之客户端程序
    Excel数据提取C++代码(仅供参考)
    SkipOut游戏实现代码
    C++读取Excel 精华
    MFC excel修改类
  • 原文地址:https://www.cnblogs.com/lzq666/p/7764359.html
Copyright © 2011-2022 走看看