学生信息管理系统通过IO流写入读取

测试类main

/**
 * 
 */
package com.applicationIO;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

/*** <p>Title:TestM </p>
* <p>Description: </p>
* <p>Company: </p> 
* @author 
* @date 
*/
public class TestM {
    public static void main(String[] args) throws Exception {
        
        StudentManage sm1 = new StudentManage();
        
        

        System.out.println("欢迎来到学生信息管理系统:");
        
        
        while (true) {
            System.out.println("请选择你的操作:");
            System.out.println("1.添加学生信息:");
            System.out.println("2.查询所有学生信息:");
            System.out.println("3.根据学生id删除学生:");
            System.out.println("4.根据学生id修改学生姓名:");
            System.out.println("0.退出系统:");
            
            Scanner sc1 = new Scanner(System.in);
            int choose = sc1.nextInt();
            switch (choose) {
            case 1:
                sm1.addStudent();
                break;
            case 2:
                List<Student> allStudent = sm1.getAllStudent();
                Object[] array = allStudent.toArray();
                System.out.println(Arrays.toString(array));
                break;
            case 3:
                List<Student> deleteStudent = sm1.deleteStudent();
                Object[] array2 = deleteStudent.toArray();
                System.out.println(Arrays.toString(array2));
                break;
            case 4:
                List<Student> getNameById = sm1.getNameById();
                //将集合转为数组用toArray()方法;,将数组打印出来用Arrays。toString();
                Object[] array3 = getNameById.toArray();
                System.out.println(Arrays.toString(array3));
                break;
            case 0:
                System.out.println("退出成功!");
                System.exit(0);
                break;
            default:
                break;
            }
        }
        
    }
}
 



业务逻辑类

/**
 * 
 */
package com.applicationIO;


import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/*** <p>Title:StudentManage </p>
* <p>Description: </p>
* <p>Company: </p> 
* @author 
* @date 
*/
public class StudentManage {
    static Scanner sc1=new Scanner(System.in);
    public  void addStudent() throws Exception {

        FileWriter fw1 = new FileWriter("student.txt",true);
    
        System.out.println("请输入学生id:");
        //学生id不能重复
        Integer id=sc1.nextInt();
        List<Integer> id2 = getId();
        for(int i=0;i<id2.size();i++) {
            Integer integer = id2.get(i);
            if (integer.equals(id)) {
                System.out.println("学号重复,请重新添加!");
                return;
            }
        }
        System.out.println("请输入学生姓名:");
        String name=sc1.next();
        System.out.println("请输入学生成绩:");
        Double score = sc1.nextDouble();
        
        String stu1=id+":"+name+":"+score;
        
        fw1.write(stu1);
        fw1.write("\n");
        fw1.flush();
        fw1.close();
        
    }
    
    //得到所有的信息,放到list集合中
    public List<Student> getAllStudent() throws IOException{
        List<Student> list = new ArrayList<>();
        FileReader fr1 = new FileReader("student.txt");
        BufferedReader br1 = new BufferedReader(fr1);
        String len;
        while((len = br1.readLine()) !=null) {
            String[] s1 = len.split(":");
            String id=s1[0];
            String name=s1[1];
            String score=s1[2];
            Student stu1=new Student(Integer.parseInt(id), name, Double.parseDouble(score));
            list.add(stu1);
            
        }
    
        br1.close();
        fr1.close();

        return list;
    }
    //获取所有学生的id信息,用于判断输入的id是否重复。
    public static  List<Integer> getId() throws Exception{
        List<Integer> list = new ArrayList<>();
        FileReader fs1 = new FileReader("student.txt");
        BufferedReader br1 = new BufferedReader(fs1);
        String len;
        while((len = br1.readLine()) !=null) {
            String[] s1 = len.split(":");
            String id=s1[0];
            
            Integer Iid=new Integer(Integer.parseInt(id));
            list.add(Iid);
            
        }
        
        return list;
    }
    
    //根据id删除学生
    public List<Student> deleteStudent() throws Exception{
        List<Student> allStudent = getAllStudent();
        FileWriter fw1 = new FileWriter("student.txt");
        System.out.println("请输入你下删除的学号id:");
        int chooseId = sc1.nextInt();
        int index=-1;
        for(int i=0;i<allStudent.size();i++) {
            Student stu1 = allStudent.get(i);
            Integer id = stu1.getId();
            if (id==chooseId) {
                index = i;
            }    
         }
        if (index !=-1) {
            allStudent.remove(index);
            System.out.println("删除成功");
        }else {
            System.out.println("不存在该id");
        }
        //将删除该学生信息后的学生集合用fw1.write写入打印了
        for (Student student : allStudent) {
            Integer id = student.getId();
            String name = student.getName();
            Double score = student.getScore();
            String line=id+":"+name+":"+score;
            fw1.write(line);
            fw1.write("\n");
            fw1.close();
        }

        return allStudent;
    }
    
    //根据id修改学生的姓名
    public List<Student> getNameById() throws Exception{
        List<Student> list=getAllStudent();
        int index = -1;
        System.out.println("请输入你下修改姓名的学号id");
        int id = sc1.nextInt();
        for(int i=0;i<list.size();i++) {
            Student stu1 = list.get(i);
            if (id==stu1.getId()) {
                System.out.println("请输入你想修改后的姓名");
                String name=sc1.next();
                
                stu1.setName(name);
                index = i;
            }
        }
        if (index !=-1) {
            System.out.println("修改成功");
        }else {
            System.out.println("不存在该id,修改失败");
        }
        
        return list;
    }
}
 


数据信息类Student

/**
 * 
 */
package com.applicationIO;

/*** <p>Title:Student </p>
* <p>Description: </p>
* <p>Company: </p> 
* @author 
* @date 
*/
public class Student {
    private Integer id;
    private String name;
    private Double score;
    /**
     * 
     */
    public Student() {
        // TODO Auto-generated constructor stub
    }
    
    
    public Student(Integer id, String name, Double score) {
        super();
        this.id = id;
        this.name = name;
        this.score = score;
    }

    /**
     * @return the id
     */
    public Integer getId() {
        return id;
    }
    /**
     * @param id the id to set
     */
    public void setId(Integer id) {
        this.id = id;
    }
    /**
     * @return the name
     */
    public String getName() {
        return name;
    }
    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }
    /**
     * @return the score
     */
    public Double getScore() {
        return score;
    }
    /**
     * @param score the score to set
     */
    public void setScore(Double score) {
        this.score = score;
    }


    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", score=" + score + "]";
    }

    

}
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学生信息管理系统是一个用于管理学生信息的软件系统。它可以通过Java IO技术来读取写入学生信息,同时使用GUI界面来方便用户进行操作。Java IO技术可以帮助我们读取写入文件,以便存储和管理学生信息。GUI界面可以提供用户友好的操作界面,使得用户可以方便地进行学生信息的添加、修改、删除等操作。因此,学生信息管理系统的开发需要掌握Java IO和GUI技术。 ### 回答2: 学生信息管理系统是一种普遍存在于各个学校和机构的系统,在传统的学生信息管理中,数据的存储和管理往往是一个繁琐复杂的过程,需要人工处理大量的数据,这不仅费时费力,而且容易出现一些错误。因此,利用Java IO GUI技术可以大幅简化这个过程,提高工作效率和数据安全性。 Java IO(输入输出)是Java语言提供的一组用于读写文件和输入输出流的API。它将文件和流视为字节或字符序列,为文件和输入输出流提供了一系列功能,包括读写、缓冲、转换、定位、过滤和压缩等。利用这些功能,我们可以轻松地实现数据的读取、存储和管理。 GUI(图形用户界面)是一种人机交互界面,是Java中一种重要的界面设计方法。它将用户和应用程序的交互过程化简为可视化界面,使用户更容易地进行操作和交互。Java中的GUI技术主要是通过swing包和awt包实现的,可以方便地创建各种图形组件,如按钮、文本框、菜单、表格等。 学生信息管理系统可以使用Java IO GUI技术来实现数据的输入、修改、删除和输出等功能。例如,我们可以使用文件读写技术来实现数据的存储和读取,每个学生对应一个文件,文件中保存着学生的基本信息和成绩等数据。当用户需要查询和修改某个学生的信息时,可以通过GUI界面选择相应的文件和学生,进行数据的修改和保存。同时,我们也可以使用GUI技术来实现数据的可视化展示,如表格、图表等,方便用户进行数据分析和比较。 总之,Java IO GUI技术在学生信息管理系统中具有广泛的应用前景,它可以大幅简化数据管理和交互过程,提高工作效率和数据安全性,为广大教育行业提供更加便捷、高效和可靠的信息管理服务。 ### 回答3: 学生信息管理系统是一个非常重要的管理工具,它可以帮助学校的教学管理工作更加高效地运行。而Java IO GUI则是这个管理系统中非常重要的一部分。在这个管理系统中,Java IO GUI主要负责输入输出数据,以及界面设计等方面的工作。 在学生信息管理系统中,Java IO负责读取写入数据,然后将这些数据存储在文件中。Java IO可以从键盘或另一个文件中读取数据,也可以将数据写入文件中。在学生信息管理系统中,Java IO会把数据存储在一个文件中,通常是一个文本文件。 而Java GUI则负责界面设计。学生信息管理系统需要具有友好的界面,让用户轻松使用。Java GUI可以提供一些可以将读取到的学生信息显示在屏幕上的控件,例如文本框、下拉列表、表格等。用户可以通过这些控件输入和编辑数据。 Java IO GUI的主要目标是使学生信息管理系统更加易于使用。当用户输入信息时,Java IO负责将这些信息写入文件。当用户在系统中查询或编辑信息时,Java GUI会提供各种控件来实现这些功能。 总体来说,学生信息管理系统Java IO GUI是该系统中非常重要的一部分。Java IO GUI可以使学生信息管理系统更加高效、实用,同时也方便用户操作。通过使用Java IO GUI,用户可以轻松管理系统中的大量学生信息,并实时地进行数据分析和查询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值