java编写的程序。求大神

一、所得税计算
1、功能要求
开发基于控制台的雇员所得税计算系统。具体要求如下:
(1)从控制台读取雇员名称,工资和加班补贴。
(2)根据工资和加班补贴计算所得税。
(3)计算完毕后输出,输出内容需包括税前工资,税后工资,应纳所得税额。运行界面如图-1所示。

2、类的设计
该系统中必须包括两个类,类名及属性设置如下。
a) 雇员类(Employee)
名称(name)
工资(salary)
加班补贴(subsidy)
b) 信息输入类(IncomeTax),含main方法的类

3、具体要求及推荐实现步骤
a) 开发雇员类的计算所得税的方法。
b) 开发信息输入类,从控制台获得输入信息。

4、所得税的计算公式如下:
1) 税前收入 = 工资 + 加班补贴
2) 税后收入 = 税前收入 – 应交税额
3) 应交税额 = 应纳税额 * 税率
当税前收入小于等于2000元时:应纳税额为0元(免交个人所得税)
当税前收入大于2000元时:应交税额 = (税前收入 – 2000)* 税率
(即超出2000元那部分计算税额)

5、税率的规则如下(超出越多,税率越高):

import java.util.Scanner;

public class IncomeTax {

public static double tax(Employee em) {
double tax=0;
double per=0;
double over=em.getSalary()+em.getSubsidy()-2000;
if(over>20000){
per=0.3;
}else if(over>5000){
per=0.2;
}else if(over>2000){
per=0.15;
}else if(over>500){
per=0.1;
}else if(over>0){
per=0.05;
}else{
per=0;
}
tax=over*per;
return tax;
}

public static void main(String[] args) {
Employee em=new Employee();
Scanner input=new Scanner(System.in);
System.out.println("请输入员工的姓名:");
em.setName(input.nextLine());
System.out.println("请输入员工的工资:");
em.setSalary(Double.parseDouble(input.nextLine()));
System.out.println("请输入员工加班补贴:");
em.setSubsidy(Double.parseDouble(input.nextLine()));
double tax=tax(em);
double before=em.getSalary()+em.getSubsidy();
double after=before-tax;;
System.out.println("员工"+em.getName()+"的税前收入为"+before+"元,税后收入为"+after+"元,您缴纳的个人所得税为"+tax+"元。");
}
}

public class Employee {

private String name;

private double salary;

private double subsidy;

public String getName() {
return name;
}

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

public double getSalary() {
return salary;
}

public void setSalary(double salary) {
this.salary=salary;
}

public double getSubsidy() {
return subsidy;
}

public void setSubsidy(double subsidy) {
this.subsidy=subsidy;
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09
有什么问题?要别人帮你写代码?追问

是的,能帮给写一下吗? 一共两道题。

追答

这样吧,你把这个选择为满意答案,重新写一个一样的问题,我现在升级需要分数,看你表现

第2个回答  2013-04-09
这应该是一道例题吧,原来做过追问

是的,,java考试题目

相似回答
大家正在搜