永发信息网

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

答案:2  悬赏:60  手机版
解决时间 2021-11-19 02:25
急~~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();
}
// 可是我怎么都运行不出来,求好心人帮帮忙看看!!
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 < 2500) {
suodeshui = ((before - 2000) * 0.05);
} else if (before >= 2500 && before < 4000) {
suodeshui = ((before - 2000) * 0.1);
} else if (before >= 4000 && before < 7000) {
suodeshui = ((before - 2000) * 0.15);
} else if (before >= 7000 && before < 22000) {
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
}
 

public Employee(String name,double salary,double subsidy) {
this.name = name;
this.salary = salary;
this.subsidy = subsidy;
}

public void getshuishou() {
double before = 0;
double after = 0;
double suodeshui = 0;
before = salary + subsidy;
if (before >= 2000 && before < 2500) {
suodeshui = ((before - 2000) * 0.05);
} else if (before >= 2500 && before < 4000) {
suodeshui = ((before - 2000) * 0.1);
} else if (before >= 4000 && before < 7000) {
suodeshui = ((before - 2000) * 0.15);
} else if (before >= 7000 && before < 22000) {
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) {
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();
}
}
全部回答
1、将
public static void main(String[] args) {
Employee emp=new Employee();
emp.setA();
emp.getshuishou();
这个放到Employee 这个类里面去。。。

2、你的after=before-suodeshui; 需要放到if条件后面去。

3、那个class IncomeTax{ }可以不用了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
六一集团的产品真的那么好吗?
就“中学生使用手机问题”发表你的看法!内容
魔兽世界SS神器开第三槽一定要做完成末日仪式
圣旨骨酥鱼的典故传说
女人一个美的性格也好和一个一般性格一般,你
男孩,姓焦,想取个好听好写有寓意的名字,请
4008开头的电话用座机拨打是否免费的?
1 987年4月19日的阳历是多少号
杏鲍菇红烧小排的做法步骤图,怎么做好吃
道教 打坐应该朝哪个方向? 打坐的时候是左手
Tom often reads books (in his study)对括号
sm坐木马上什么感觉
天泽履 风火家人 乾卦 克我者为官鬼,还有剑
《家庭环保公约》十条.
局域网内增加无线覆盖如何配置WiFi路由器?
推荐资讯
康婷生物资产多少
世和御景停车场地址在什么地方,我要处理点事
买板式家具到底好不好
磷矿粉可以燃烧吗?
旧宫新菀小区有出租房吗?
同步语音翻译机哪种好?
多股铝线的连接方法
鹅胗和鹅肠连在一起的那部分叫什么
现在的朝歌是怎样
32. 320读作什么
武汉汉口火车站到四川凉山州西昌南有几趟车
It's none of your business翻译成中文?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?