员工管理系统小项目总结 java

这周写了个java版的员工管理项目,练习io流的知识点。
      io流的实用之处就是把临时信息永久化,内容主要是对于程序中的信息进行分析,归类,储存,也可以把其他文件信息读入程序,是内存与硬盘数据的交互。。。。。
      说人话就是,可以读写了,这个项目让我扎实了很多知识点,例如需要保存的员工信息暂时保存在哪里,
我这里直接声明了几个长度为100的数组。`

class InforMation {
    public static  int i=1;
    public static int []sum=new int[100];
    public static String []name=new String[100];
    public static int [] age=new int[100];
    public static String []PhoneNumber=new String[100];
    public static String []Address=new String[100];
}

java中只有静态的才是一个,不会变动的,否则就是new一个对象要在堆内存中创建个新的对象了。
      注意到我这里是有int数组的,这个int数组后面可麻烦了。。。。如果写入txt文件用字符流需要多很多次转换,就很费事,以这个age数组为例,应该直接用上string数组的,不过用Integer.toString可以转成string写入文件,有人可能会说这不是脱裤子放屁么?。。。。确实是这样的。
      同样写入我用的Integer.toString,读入我又得转成int类型了,这里用到的方法是Integer.parseInt方法,可以把string转化成int数据类型。
      我每次添加修改员工信息就是,写入到一个临时的文件中,充当保存数据的作用,而读入数据是在系统登录成功后开始读取,避免没登陆上就开始读取浪费性能。

class UserOperation {


    public UserOperation() {
        try {
            BufferedReader bw=new BufferedReader(new FileReader("i.txt"));
            try {
                InforMation.i=Integer.parseInt(bw.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        int a=0;
        try {
            BufferedReader ba=new BufferedReader(new FileReader("Employee information.txt"));
            String tempin=null;
            while ((tempin= ba.readLine())!=null){
                String tempstring[]=tempin.split(",");
                InforMation.name[a]=tempstring[0];
                InforMation.age[a]=Integer.parseInt(tempstring[1]);
                InforMation.PhoneNumber[a]=tempstring[2];
                InforMation.Address[a]=tempstring[3];
                a++;

            }
            ba.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        System.out.println("1,修改管理员密码");
        System.out.println("2,查询员工");
        System.out.println("3,添加员工");
        System.out.println("4,导入员工信息(文件.txt)");
        System.out.println("5,导出员工信息(文件.txt)");
        System.out.println("6,修改员工信息");
        System.out.println("7,退出程序");
        System.out.println("(本程序切记要正常退出,否则会出现令你匪夷所思的bug)");
        Scanner reader = new Scanner(System.in);
        int choose = reader.nextInt();
        switch (choose) {
            case 1:
                new SetAdmin();
                break;

            case 2:
                new ChooseMan();
                break;
            case 3:
                new AddMan();
                break;

            case 4:
                new InputTxtMan();
                break;

            case 5:
                new OutputMan();
                break;
            case 6:
                new SetMan();
            case 7:
                new  Esc();
                break;
            default:
                System.out.println("抱歉没有匹配的对象");
                break;





        }

    }
}

总之写的很拉,还有很多进步的空间,尤其是用户输入的内容判断,应该在判断数据符合输入规则后再读入程序,否则胡乱读入的话会使程序的稳定性大大降低,学习之路还有很长,加油吧!!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只会写bug的靓仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值