当前位置:编程学习 > JAVA >>

用java设计一个员工类,可以计算工资个人所得税

用java设计一个员工类,可以计算工资个人所得税
 
1. 背景
 
    老师在课上布置了几道java编程题,此为其中之一
 
2. 题目内容
 
设计一个员工类。该员工具有下列私有属性:编号,姓名,基本工资,奖金  提供有参构造函数:Employee(Strng ID,String name),   提供上述私有属性的读写函数.    
提供计算个人所得税的方法:  
工资个税的计算公式为:应纳税额=(工资薪金所得 -“五险一金”-扣除数)×适用税率-速算扣除数
 
 
 
自己在实际代码中对上述问题做了一些改进
 
3. 具体代码与解释
 
[java] 
<span style="font-family:SimSun; font-size:14px">package Two;  
/** 
 * @author Kun Sun 
 * @Date: 2013.10.15 
 */  
public class Employee { // 雇员类  
    private String ID;       // ID  
    private String name;     // 姓名  
    private int salary;      // 工资薪金所得  
    private int insureHome;  // “五险一金”数额  
    private int deduct;      // 扣除数额  
      
    Employee(){  
          
    }  
      
    Employee(String ID,String name){ // 带参数的构造方法  
        this.ID = ID;  
        this.name = name;  
    }  
      
    Employee(String ID,String name,int salary,int insureHome,int deduct){  // 带参数的构造方法  
        this.ID = ID;  
        this.name = name;  
        this.salary = salary;  
        this.insureHome = insureHome;  
        this.deduct = deduct;  
    }  
      
    public String getID() {  
        return ID;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public int getSalary() {  
        return salary;  
    }  
  
    public int getInsureHome() {  
        return insureHome;  
    }  
  
    public int getDeduct() {  
        return deduct;  
    }  
  
    public void setID(String iD) {  
        ID = iD;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public void setSalary(int salary) {  
        this.salary = salary;  
    }  
  
    public void setInsureHome(int insureHome) {  
        this.insureHome = insureHome;  
    }  
  
    public void setDeduct(int deduct) {  
        this.deduct = deduct;  
    }  
      
    public void selfValue(){ // 个人所得税具体计算  
        double sefValue;  
        if(salary>=0 && salary<1500){  
            sefValue = (double)(salary-insureHome-deduct)*0.03 - 0;  
        }else if(salary>=1500 && salary<4500){  
            sefValue = (double)(salary-insureHome-deduct)*0.1 - 105;  
  
        }else if(salary>=4500 && salary<9000){  
            sefValue = (double)(salary-insureHome-deduct)*0.2 - 555;  
  
        }else if(salary>=9000 && salary<35000){  
            sefValue = (double)(salary-insureHome-deduct)*0.25 - 1005;  
  
        }else if(salary>=35000 && salary<55000){  
            sefValue = (double)(salary-insureHome-deduct)*0.30 - 2755;  
  
        }else if(salary>=55000 && salary<80000){  
            sefValue = (double)(salary-insureHome-deduct)*0.35 - 5505;  
  
        }else{  
            sefValue = (double)(salary-insureHome-deduct)*0.45 - 13505;  
        }  
        System.out.println(sefValue);  
    }  
}  
</span>  
 
 
 
[java] 
<span style="font-family:SimSun; font-size:14px">package Two;  
/** 
 * @author Kun Sun 
 * @Date: 2013.10.15 
 */  
public class MainClass { // 用于测试雇员类  
  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        System.out.println("第一种调用方法:");  
        Employee emp = new Employee("1001","Sun");  
        emp.setSalary(12345);  
        emp.setInsureHome(890);  
        emp.setDeduct(55);  
        System.out.println("编号为"+emp.getID()+",姓名是"+emp.getName()+" 的应纳税额是:");  
        emp.selfValue();  
          
        System.out.println("------------------------\n第二种调用方法:");  
        Employee emp2 = new Employee("1001","Sun",12345,890,55);  
        System.out.println("编号为"+emp2.getID()+",姓名是"+e
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,