iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java实现工资管理简单程序
  • 528
分享到

java实现工资管理简单程序

2024-04-02 19:04:59 528人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文为大家分享了java实现工资管理简单程序的具体代码,供大家参考,具体内容如下 程序总体说明(ReadMe): 总体分为四部分: 管理程序(staffmanagment.java)

本文为大家分享了java实现工资管理简单程序的具体代码,供大家参考,具体内容如下

程序总体说明(ReadMe):

总体分为四部分:

管理程序(staffmanagment.java):

  • 在这里面使用了arraylist泛型来存放数据
  • 博主正在想办法把数据放进Mysql,这样读取会更方便,而且数据不会消失
  • 当然(也可以把数据存入txt文件)
import java.util.ArrayList;

//员工管理
public class staffmanagement {
    ArrayList al = null;//员工信息在这里面建立
    public staffmanagement()
    {
        al = new ArrayList();
    }

    //成员方法
    //添加新员工
    public void addstaff(staff staff)
    {
        al.add(staff);
    }

    //根据工号查询员工的信息
    public void showInfo(String no)
    {
        int flag = 0;
        for(int i=0; i<al.size(); i++)
        {
            staff staff= (staff)al.get(i);
            if(staff.getNo().equals(no))
            {
                flag = 1;
                System.out.println("员工"+(i+1)+"的信息是:");
                System.out.print("姓名:"+staff.getName());
                System.out.print("  性别:"+staff.getSex());
                System.out.print("  年龄:"+staff.getAge());
                System.out.print("  工号:"+staff.getNo());
                System.out.print("  薪资:"+staff.getSalary());
                System.out.print("  工作:");
                if(staff.getWork() == 1) System.out.println("common staff");
                else if(staff.getWork() == 2) System.out.println("common manager");
                else if(staff.getWork() == 3) System.out.println("head manager");
                System.out.println(staff);

            }
        }
        if(flag == 0)
            System.out.println("该工号不存在");
    }

    //显示所有员工信息
    public void  showAllInfo()
    {
        for(int i=0; i<al.size(); i++)
        {
            staff staff= (staff)al.get(i);
            System.out.println("staff"+(i+1)+"的信息是:");

            System.out.print("姓名:"+staff.getName());
            System.out.print("  性别:"+staff.getSex());
            System.out.print("  年龄:"+staff.getAge());
            System.out.print("  工号:"+staff.getNo());
            System.out.print("  薪资:"+staff.getSalary());
            System.out.print("  工作:");
            if(staff.getWork() == 1) System.out.println("common staff");
            else if(staff.getWork() == 2) System.out.println("common manager");
            else if(staff.getWork() == 3) System.out.println("head manager");
            System.out.println(staff);
        }
    }

    //修改员工的薪水
    public void  modifySal(String no, double sal) //员工工号   最新的薪资
    {
        int flag = 0;
        for(int i=0; i<al.size(); i++)
        {
            staff staff= (staff)al.get(i);
            if(staff.getNo().equals(no))
            {
                flag = 1;
                staff.setSalary(sal);
            }
        }
        if(flag == 0)
            System.out.println("找不到所查工号");
    }

    //根据工号删除该员工的信息
    public void deleteInfo(String no)
    {
        int flag = 0;
        for(int i=0; i<al.size(); i++)
        {
            staff staff= (staff)al.get(i);
            if(staff.getNo().equals(no))
            {
                flag = 1;
                al.remove(i);
            }
        }
        if(flag == 0)
            System.out.println("找不到所查工号");
    }

    //统计当前公司的三个水平工资线
    public void calSalary() {
        if (al.isEmpty()) {
            System.out.println("the stafflist is empty,please input the staff infomation");
            System.out.println("please input the No 1 to add the staffinfo");
        } else {
            double totalSal = 0;
            double minSal = ((staff) al.get(0)).getSalary();
            double maxSal = ((staff) al.get(0)).getSalary();

            for (int i = 0; i < al.size(); i++) {
                staff staff = (staff) al.get(i);
                totalSal += staff.getSalary();
                if (minSal > staff.getSalary()) {
                    minSal = staff.getSalary();
                }
                if (maxSal < staff.getSalary()) {
                    maxSal = staff.getSalary();
                }
            }
            System.out.println(al.size() + "个人的平均薪资为:" + totalSal / al.size());
            System.out.println(al.size() + "个人的最低薪资为:" + minSal);
            System.out.println(al.size() + "个人的最高薪资为:" + maxSal);
        }
    }
}

界面模块(SalarySystem.java)

  • 对不同员工的工资最低进行了限制,毕竟法律规定了不能给太低
  • 年龄也是(至少得成年吧——你懂的)
  • 职位还可以安排更多
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;


public class SalarySystem {

    public static void main(String[] args) throws IOException //使用bufferreader读取更加的安全,当读取不到的返回错误抛出
    {
        staffmanagement sys = new staffmanagement();

        InputStreamReader isr = new InputStreamReader(System.in);//输入流为系统,也可以从文本读取,一次读取一个字符
        BufferedReader br = new BufferedReader(isr);//读取,对输入流的封装,可以读取一行,一个字符或者是一个数字
        //这里以isr读取到的传给br
        while(true)
        {
            //简易菜单
            System.out.println("简单管理菜单" );
            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("7.查看具体工作名称");
            System.out.println("8.最低工资说明");
            System.out.println("9.清屏");
            System.out.println("0.退出");
            System.out.println("---------------------------------------");
            System.out.println("请选择序号:");

            String no = br.readLine();

            if(no.equals("1")) {
                System.out.println("添加新员工:");
                System.out.println("请输入姓名:");
                String name = br.readLine();

                System.out.println("请输入性别(男or女):");
                String sex = br.readLine();

                System.out.println("请输入工作:");
                System.out.println("目前共有三种职位:\n" +
                        "1.common_staff\n" +
                        "2.common_manager\n" +
                        "3.head_manager");
                System.out.println("please input the work id:");
                int work = Integer.parseInt(br.readLine());


                System.out.println("请输入年龄:");
                Scanner sc = new Scanner(System.in);
                int age = sc.nextInt();
                if( age < 18 ){
                    System.out.println("the age is too small,please input again");
                    sc = new Scanner(System.in);
                    age = sc.nextInt();
                }

                System.out.println("请输入工号:");
                String staffNo = br.readLine();

                System.out.println("请输入工资:");
                double salary = Double.parseDouble(br.readLine());
                if( work == 1 ) {
                    while (salary < 2000) {
                        System.out.println("the common staff's salary is too low");
                        System.out.println("请重新输入");
                        salary = Double.parseDouble(br.readLine());
                    }
                }
                else if( work == 2 ) {
                    while (salary < 5000) {
                        System.out.println("the manager's salary is too low");
                        System.out.println("请重新输入");
                        salary = Double.parseDouble(br.readLine());
                    }
                }
                else if( work == 3 ) {
                    while (salary < 8000) {
                        System.out.println("the head manager's salary is too low");
                        System.out.println("请重新输入");
                        salary = Double.parseDouble(br.readLine());
                    }
                }

                staff staff = null;
                if (work == 1) {
                    staff = new staff(name, sex, age, staffNo, salary, work);
                } else if(work == 2){
                    staff = new manager(name, sex, age, staffNo, salary, work);
                }else if(work == 3 ) {
                    staff = new manager(name, sex, age, staffNo, salary, work);
                }
                sys.addstaff(staff);

            }else if(no.equals("2")){
                System.out.println("请输入员工号:");
                String staffNo = br.readLine();
                sys.showInfo(staffNo);

            }else if(no.equals("3")){
                System.out.println("显示所有员工信息:");
                sys.showAllInfo();

            }else if(no.equals("4")){
                System.out.println("修改员工的薪水:");
                System.out.println("输入员工工号:");
                String staffNo = br.readLine();//接收输入的工号
                System.out.println("修改后的员工工资:");
                String sal = br.readLine();
                double salary = Double.parseDouble(sal);
                sys.modifySal(staffNo, salary);

            }else if(no.equals("5")){
                System.out.println("根据工号删除该员工的信息:");
                System.out.println("输入员工工号:");
                String staffNo = br.readLine();//接收输入的工号
                sys.deleteInfo(staffNo);

            }else if(no.equals("6")){
                System.out.println("统计员工的平均工资、最高工资和最低工资:");
                sys.calSalary();

            }else if(no.equals("7")) {
                System.out.println("查看具体工作名称:\n" +
                        "序号1为common staff\n" +
                        "序号2为conmmon manager\n" +
                        "序号3为head manger");

            }else if(no.equals("8")) {
                System.out.println("最低工资说明:\n" +
                        "1.common staff 最低工资为2000\n" +
                        "2.conmmon manager 最低工资为5000\n" +
                        "3.head manager 最低工资为8000\n");

            }else if(no.equals("9")){
                int i=0;
                while( i < 80) {
                    System.out.println("********");
                    i++;
                }//java因为ide的原因没有提供内置类似c++的方法,所以只能简陋的使用***来清屏了=  =
                System.out.println("如果觉得看着麻烦的话,可以在console里面鼠标右击->clear");

            }else if(no.equals("0")){
                System.exit(0);

            }else{
                System.out.println("请输入正确的序号");
            }
        }


    }
}

普通职位模块(staff.java)

所有的员工模块通过此模块进行扩展

//普通员工类
public class staff
{
    private String name;
    private String sex;
    private int age;
    private String no;
    private double salary;
    private int work;
    public staff(){}
    public staff(String name, String sex, int age, String no, double salary,int work)
    {
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.no = no;
        this.salary = salary;
        this.work = work;
    }

    @Override
    public String toString() {
//        return "this is a common staff\n"
//                +"name:"+name+"\n"
//                +"sex :"+sex+"\n"
//                +"age :"+age+"\n"
//                +"no :"+no+"\n"
//                +"salary :"+salary+"\n"
//                +"work :"+work+"\n";
        return getWork()+" the common staff is working and the salary is "+getSalary()+"\n" +
                "his/her workid is 1 and he/she needs handle with the company's common situations";
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
    public void setWork(int work){
        this.work = work;
    }
    public  int getWork(){
        return work;
    }

}

扩展职位模块

1.common manager

public class manager extends staff{
    public manager(String name, String sex, int age, String no, double salary, int work) {
        setName(name);
        setSalary(salary);
        setAge(age);
        setNo(no);
        setSex(sex);
        setWork(work);
    }
    public manager(){
        System.out.println("this is a manager");
    }
    @Override
    public String toString() {
        return "the manager is working and the salary is "+getSalary()+"\n" +
                "his workid is 3 and he needs handle with the company's emergency situations";
    }
}

2.head manager

public class headmanager extends  manager{
    public headmanager(String name, String sex, int age, String no, double salary, int work) {
        setName(name);
        setSalary(salary);
        setAge(age);
        setNo(no);
        setSex(sex);
        setWork(work);
    }
    public headmanager(){
        System.out.println("this is a headmanager");
        System.out.println("his workid is 3 " +
                    "and he needs handle with " +
                    "the company's emergency situations");
    }

    @Override
    public String toString() {
        return "the headmanager is working and the salary is "+getSalary()+getSalary()+"\n" +
                "his/her workid is 2 and he/she needs hanle whih the compant's main development";
    }
}

运行展示

2018.12.15更新:

现在还没有想到怎么用数据库连接,不过新学习了file文件操作模式,现在把这种方式加入到员工管理里面:

以下是增加内容:

else if(no.equals("10")) {
                System.out.println("正在读取中,请稍候...");
                File file = new File("1.txt");
                Scanner input = new Scanner(file);
                while(input.hasNext()){
                    String name = input.nextLine();

                    String sex = input.nextLine();

                    int work = input.nextInt();

                    int age =input.nextInt();
                    input.nextLine();
                    String staffNo = input.nextLine();

                    double salary = input.nextDouble();
                    staff staff = null;
                    if (work == 1) {
                        staff = new staff(name, sex, age, staffNo, salary, work);
                    } else if(work == 2){
                        staff = new manager(name, sex, age, staffNo, salary, work);
                    }else if(work == 3 ) {
                        staff = new manager(name, sex, age, staffNo, salary, work);
                    }else{
                        System.out.println("不存在此职业");
                    }
                    sys.addstaff(staff);
                    System.out.println("导入成功");
                }

接下来的想法是把重复的员工去除,想先通过提醒使用者导入员工后,删除原有员工文件,然后在使用者退出前提示导入员工名单进行解决可能出现的员工重复问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: java实现工资管理简单程序

本文链接: https://www.lsjlt.com/news/140735.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java实现工资管理简单程序
    本文为大家分享了java实现工资管理简单程序的具体代码,供大家参考,具体内容如下 程序总体说明(ReadMe): 总体分为四部分: 管理程序(staffmanagment.java)...
    99+
    2024-04-02
  • C语言实现简单员工工资管理系统
    本文实例为大家分享了C语言实现简单员工工资管理系统的具体代码,供大家参考,具体内容如下 (一)公司现状分析 1、公司主要有经理、技术员、销售员、销售经理4类岗位人员,他们都有基本信息...
    99+
    2024-04-02
  • Java实现简单员工管理系统
    本文实例为大家分享了Java实现简单员工管理系统的具体代码,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo {   ...
    99+
    2024-04-02
  • C#实现简单订单管理程序
    本文实例为大家分享了C#实现订单管理程序的具体代码,供大家参考,具体内容如下 订单管理的控制台程序,能够实现添加订单、删除订单、修改订单、查询订单、序列化与反序列化订单功能。 主要的...
    99+
    2024-04-02
  • java实现员工工资管理系统
    本文实例为大家分享了java实现员工工资管理系统的具体代码,供大家参考,具体内容如下 一、题目要求 设计员工工资管理系统,实现以下功能: (1)输入5名员工姓名、工号、月工资;(2)...
    99+
    2024-04-02
  • C#如何实现简单订单管理程序
    这篇文章主要介绍“C#如何实现简单订单管理程序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#如何实现简单订单管理程序”文章能帮助大家解决问题。订单管理的控制台程序,能够实现添加订单、删除订单、修...
    99+
    2023-06-30
  • 如何使用C语言实现简单员工工资管理系统
    小编给大家分享一下如何使用C语言实现简单员工工资管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下(一)公司现状分析公司主要有经理、技术员、销售员、销售经理4类岗位人员,他们都有基本信息:职工号、姓名、性别...
    99+
    2023-06-29
  • 怎么用Java实现简单员工管理系统
    这篇文章主要讲解了“怎么用Java实现简单员工管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Java实现简单员工管理系统”吧!代码如下:import java.uti...
    99+
    2023-06-29
  • 怎么用java实现一个简单的房屋管理程序
    这篇文章主要介绍了怎么用java实现一个简单的房屋管理程序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。public class ApplicationInfo { ...
    99+
    2023-06-03
  • Java实现简单扫雷程序
    用Java实现简单扫雷程序,供大家参考,具体内容如下 页面设置:框架是borderlayout,在上中下加入外面要加入的组件(左边和右边不加)。扫雷用的布局是gridlayout即网...
    99+
    2024-04-02
  • Eclipse+Java+Swing+Mysql实现工资管理系统
    目录一、系统介绍1.开发环境2.技术选型3.系统功能4.数据库二、系统展示1.登录系统2.用户-登录系统3.用户-查看工资4.管理员-主界面6.管理员-修改员工信息7.管理员-删除员...
    99+
    2024-04-02
  • Java程序单实例运行的简单实现
    目录需求实现方式代码实现第一种实现(端口控制)第二种实现(文件锁)第三种方式(端口+文件锁)需求 最近做了个java项目,功能完成后打包安装了,发现可以点开多个实例,因为桌面显示托盘...
    99+
    2024-04-02
  • java NIO实现简单聊天程序
    本文实例为大家分享了java NIO实现简单聊天程序的具体代码,供大家参考,具体内容如下 服务端 功能: 1、接受客户端连接 2、发送消息 3、读取客户端消息 Server.jav...
    99+
    2024-04-02
  • C++实现职工工资管理系统
    本文实例为大家分享了C++实现职工工资管理系统的具体代码,供大家参考,具体内容如下 main.cpp #include <iostream> #include <v...
    99+
    2024-04-02
  • java实现简单图书管理系统
    本文实例为大家分享了java实现简单图书管理系统的具体代码,供大家参考,具体内容如下 JAVA练习的作业,题目如下: 设计一个图书管理系统类和用户类,要求具有以下功能: (1). 查...
    99+
    2024-04-02
  • Java实现简单学生管理系统
    本文实例为大家分享了Java实现简单学生管理系统的具体代码,供大家参考,具体内容如下 名为StudentManageTest的Java测试类 import java.util.Sca...
    99+
    2024-04-02
  • Java实现简单酒店管理系统
    用Java编写一个简单的酒店管理系统,供大家参考,具体内容如下 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。2、酒店使用...
    99+
    2024-04-02
  • Java实现简单班级管理系统
     本文设计一个简单的班级管理系统,满足如下要求: 1、设计学生类Student,包含学号(String型)、姓名(String型)、性别(‘M’/&...
    99+
    2024-04-02
  • C++实现职工工资管理系统课程设计
    本文实例为大家分享了C++实现职工工资管理系统的具体代码,供大家参考,具体内容如下 现在的大学里经常有一些课程设计 ,这不,我就遇到了 。 我们的c++老师 ,给了我们许 多的题目要...
    99+
    2024-04-02
  • Java实现简单计算器小程序
    本文实例为大家分享了Java实现简单计算器小程序的具体代码,供大家参考,具体内容如下 这学期没事学了一点点Java,想写个程序练手,因为只学了一点点,所以暂时只能先写个实现简单功能的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作