个人所得税 java_急~~Java 计算个人所得税的问题!!!

展开全部

public class Employee {

String name;

double salary;

double subsidy;

private Scanner sc;

public void setA() {

sc = new Scanner(System.in);

System.out.println("请输入员工的姓名:");

name = sc.next();

try {

name = new String(name.getBytes("GBK"));

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// 可是我怎么都32313133353236313431303231363533e78988e69d8331333335313762运行不出来,求好心人帮帮忙看看!!

System.out.println("请输入员工工资:");

salary = sc.nextDouble();

System.out.println("请输入员工的加班补贴:");

subsidy = sc.nextDouble();

}

public void getshuishou() {

double before = 0;

double after = 0;

double suodeshui = 0;

before = salary + subsidy;

if (before >= 2000 && before 

suodeshui = ((before - 2000) * 0.05);

} else if (before >= 2500 && before 

suodeshui = ((before - 2000) * 0.1);

} else if (before >= 4000 && before 

suodeshui = ((before - 2000) * 0.15);

} else if (before >= 7000 && before 

suodeshui = ((before - 2000) * 0.2);

} else if (before >= 22000) {

suodeshui = ((before - 2000) * 0.3);

} else {

suodeshui = 0;

}

after = before - suodeshui; //把这句放到这里。

System.out.print("员工" + name + "的税前收入为:" + before + "元" + "," + "税后收入为"

+ after + "元" + "," + "您缴纳的个人所得税为:" + suodeshui + "元");

}

public static void main(String[] args) {

Employee emp = new Employee();

emp.setA();

emp.getshuishou();

}

}

我给你修改了一下。。你看看。

我给你把这个代码 改了一下,你看,你能不能看出它的好处。。public class Employee {

private String name;

private double salary;

private double subsidy;

/**

* 无参构造

*/

public Employee() {

// TODO Auto-generated constructor stub

}

/**

* 有参构造

* @param name

* @param salary

* @param subsidy

*/

public Employee(String name,double salary,double subsidy) {

this.name = name;

this.salary = salary;

this.subsidy = subsidy;

}

/**

* 计算税收

* @author 朱泽江

* @date 2014-4-11 下午05:40:37

*/

public void getshuishou() {

double before = 0;

double after = 0;

double suodeshui = 0;

before = salary + subsidy;

if (before >= 2000 && before 

suodeshui = ((before - 2000) * 0.05);

} else if (before >= 2500 && before 

suodeshui = ((before - 2000) * 0.1);

} else if (before >= 4000 && before 

suodeshui = ((before - 2000) * 0.15);

} else if (before >= 7000 && before 

suodeshui = ((before - 2000) * 0.2);

} else if (before >= 22000) {

suodeshui = ((before - 2000) * 0.3);

} else {

suodeshui = 0;

}

after = before - suodeshui;

System.out.print("员工" + name + "的税前收入为:" + before + "元" + "," + "税后收入为"

+ after + "元" + "," + "您缴纳的个人所得税为:" + suodeshui + "元");

}

/**

* 测试的方法

* @author 朱泽江

* @date 2014-4-11 下午05:41:16

* @param args

* 这样写的好处是把业务类,与测试类,分开

*/

public static void main(String[] args) {

Scanner sc;

sc = new Scanner(System.in);

System.out.println("请输入员工的姓名:");

String name = sc.next();

try {

name = new String(name.getBytes("GBK"));

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// 可是我怎么都运行不出来,求好心人帮帮忙看看!!

System.out.println("请输入员工工资:");

double salary = sc.nextDouble();

System.out.println("请输入员工的加班补贴:");

double subsidy = sc.nextDouble();

Employee emp = new Employee(name,salary,subsidy);

emp.getshuishou();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值