您启动了int KGongZ = GongZ-3500;然后我问你工资是否低于3500。没有税,最后有补贴。。。逻辑错误
有两种计算税收公式的方法
超出累积顺序,只要应纳税所得额乘以税率即可。
快速计算扣减是一种进度全面的税费计算方法。只要减去此常数,它就等于通过超额累进法计算的应纳税额,因此称为“快速计算扣除”。
简单示例:
月薪4,500元,减2,000,其余2,500应税
使用累积的多余500 * 5%+ 1500 * 10%+ 500 * 15%= 250
使用快速计算扣除2500 * 15%-125 = 175 = 250
在计划执行过程中,首先定义p = 7级,一个应税边界值数组和一个税率数组。较常规的方法是使用ifelse语句逐级考虑应纳税所得额的大小,但这是大量的程序代码,很难理解。该程序使用7级循环来计算段中的传入参数。输入相应级别时,如果相应细分市场超出部分,则将其乘以该细分市场的税率。具体实现如下:
类计算{
私有字符串名称;
私人双钱;
私人双倍实际;
/ **
* @param用户名用户名
* @param税前用户收入
* /
公共帐户(字符串用户名,双钱){
this.name =用户名;
this.money =金钱;
}
公共双份HowMany(){
// Java中switch的case变量仅支持int char字符串,这里为double,因此不能使用switch
double shouru = money; // This.money已经在构造函数中,因此请再次使用它来使用money
如果(shouru <= 1500){
this.actual = shouru;
}否则,如果(1500 this.actual = shouru *(1-0.05); }如果(3000 <= shouru){ this.actual = shouru-(shouru-3000)* 0.1; } 返回this.actual; } } / ** * PersonalFax.java * / 公共类PersonalFax { public static void main(字符串args []){ Caculate shiji = new Caculate(“张三”,1000.2345); double shou = shiji.HowMany(); } } 急~~Java 计算个人所得税的问题!!! double suodeshui = 0; 前=工资+补贴; 如果(之前)== 2000 && bebe << 25002500){ suodeshui =((2000年之前)* 0.05); } Elseif(之前)== 2500 && bebe << 4000){ suodeshui =((2000年之前)* 0.1); } Elseif(之前)== 4000 && bebe << 7000){ suodeshui =((2000年之前)* 0.15); suodeshui =((2000年之前)* 0.2); suodeshui =((2000年之前)* 0.3); }其他{ suodeshui = 0; }{=}之后的 ; +在“ +”,“ +”,“ +”,“ +”之后,您要支付的个人所得税是:“ ++ suodeshui +”,“ } / ** * 测试方法 * @作者朱泽江 * @日期2014年4月11日05:41:16 * @Param参数 *编写此代码的好处是将业务类与测试类分开 * / 公共“静态”无效(主[String []参数){ 扫描仪sc; sc =新扫描仪(System.in); 字符串名称= sc.next(); 试试{ 名称=新字符串(name.getBytes(“ GBK”)); }捕获(UnsupportedEncodingException)e { // TODO自动生成的捕获块 e.printStackTrace(); } //但是我无法正常工作,请向有良好意愿的人寻求帮助!! double’salary = sc.nextDouble(); 双重补贴= sc.nextDouble(); 雇员emp =新雇员(姓名,工资,补贴); emp.getshuishou(); } }
this.actual = shouru *(1-0.05);
}如果(3000 <= shouru){
this.actual = shouru-(shouru-3000)* 0.1;
返回this.actual;
* PersonalFax.java
公共类PersonalFax {
public static void main(字符串args []){
Caculate shiji = new Caculate(“张三”,1000.2345);
double shou = shiji.HowMany();
double suodeshui = 0;
前=工资+补贴;
如果(之前)== 2000 && bebe << 25002500){
suodeshui =((2000年之前)* 0.05);
} Elseif(之前)== 2500 && bebe << 4000){
suodeshui =((2000年之前)* 0.1);
} Elseif(之前)== 4000 && bebe << 7000){
suodeshui =((2000年之前)* 0.15);
suodeshui =((2000年之前)* 0.2);
suodeshui =((2000年之前)* 0.3);
}其他{
suodeshui = 0;
}{=}之后的
;
+在“ +”,“ +”,“ +”,“ +”之后,您要支付的个人所得税是:“ ++ suodeshui +”,“
* 测试方法
* @作者朱泽江
* @日期2014年4月11日05:41:16
* @Param参数
*编写此代码的好处是将业务类与测试类分开
公共“静态”无效(主[String []参数){
扫描仪sc;
sc =新扫描仪(System.in);
字符串名称= sc.next();
试试{
名称=新字符串(name.getBytes(“ GBK”));
}捕获(UnsupportedEncodingException)e {
// TODO自动生成的捕获块
e.printStackTrace();
//但是我无法正常工作,请向有良好意愿的人寻求帮助!!
double’salary = sc.nextDouble();
双重补贴= sc.nextDouble();
雇员emp =新雇员(姓名,工资,补贴);
emp.getshuishou();