`
836811384
  • 浏览: 548947 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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


1. 背景


老师在课上布置了几道java编程题,此为其中之一


2. 题目内容


设计一个员工类。该员工具有下列私有属性:编号,姓名,基本工资,奖金 提供有参构造函数:Employee(Strng ID,String name), 提供上述私有属性的读写函数.
提供计算个人所得税的方法:
工资个税的计算公式为:应纳税额=(工资薪金所得 -“五险一金”-扣除数)×适用税率-速算扣除数




自己在实际代码中对上述问题做了一些改进


3. 具体代码与解释


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);
	}
}



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()+",姓名是"+emp2.getName()+" 的应纳税额是:");
	    emp2.selfValue();
	    
	    System.out.println("------------------------\n第二种调用方法:");
	    Employee emp3 = new Employee();
	    emp3.setID("1001");
	    emp3.setName("Sun");
		emp3.setSalary(12345);
		emp3.setInsureHome(890);
		emp3.setDeduct(55);
		System.out.println("编号为"+emp3.getID()+",姓名是"+emp3.getName()+" 的应纳税额是:");
	    emp3.selfValue();
	}
}



4. 测试运行结果截图




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics