纳税计算——案例2_7

纳税计算——案例2_7

题目

在我国,个人所得税是基于纳税人的情况和应征收人计算的。纳税人情况共分为三种:单身纳税人、已婚纳税人和家庭纳税人。另外,对于不同情况的纳税人,其税率是分档计算的,我国2008年的个人所得税税率如下表所示。

税率单身纳税人已婚纳税人家庭纳税人
10%低于等于6000元低于等于12000元低于等于10000元
15%6001~27950 元12001~46700元10001~37450元
27%27951~67700元46701~112850元37451~96700元
30%67701~141250元112851~171950元96701~156600 元
35%141251元及以上171951元及以上156601元及以上

思路

我们首先判断三类人,然后再根据不同的类型计算。这里推荐将判断、计算分成不同的方法。

  • 判断:
    直接用if-else进行判断,判断后进入不同的方法。
public static void judge(){ //判断家庭类型
        if (status == 1) 
            ans1();
        else if(status==2)
            ans2();
        else
            ans3();
    }
  • 计算:
    计算其实特别简单,就是一道初中的数学题,这里不再过多赘述。注意要确定好税率的范围,也是用if-else。

  • 使用多个方法:

    我们一般不喜欢把所有代码全塞到main方法里而是按功能拆分成不同方法,详细见CSDN博客:类、方法和对象


本题答案&代码

import java.util.Scanner;
import javax.lang.model.util.ElementScanner6;

public class Example2_7 {
    private static int status=0;
    private static double tax=0.0;
    private static double income = 0;

    public static void data() {
        System.out.println("请输入纳税人的类型:1-单身,2-已婚,3-家庭。");
        Scanner inStatus = new Scanner(System.in);
        status = inStatus.nextInt(); //输入纳税人的类型
        System.out.println("请输你的可纳税收入:");
        Scanner inIncome = new Scanner(System.in);
        income = inStatus.nextDouble(); //输入收入
        judge();
    }

    public static void judge(){ //判断家庭类型
        if (status == 1) 
            ans1();
        else if(status==2)
            ans2();
        else
            ans3();
    }
    
    public static void ans1() { //单身
        if (income <= 6000)
            tax = income * 0.1;
        else if (income <= 27950)
            tax = 6000 * 0.1 + (income - 6000) * 0.15;
        else if (income <= 67700)
            tax = 6000 * 0.1 + (27950 - 6000) * 0.15 + (income - 27950) * 0.27;
        else if (income <= 141250)
            tax = 6000 * 0.1 + (27950 - 6000) * 0.15 + (67700 - 27950) * 0.27 + (income - 67700) * 0.3;
        else
            tax = 6000 * 0.1 + (27950 - 6000) * 0.15 + (67700 - 27950) * 0.27 + (141250 - 67700) * 0.3
                    + (income - 141250) * 0.35;
    }

    public static void ans2() { //已婚
        if (income <= 12000)
            tax = income * 0.1;
        else if (income <= 46700)
            tax = 12000 * 0.1 + (income - 12000) * 0.15;
        else if (income <= 112850)
            tax = 12000 * 0.1 + (46700 - 12000) * 0.15 + (income - 46700) * 0.27;
        else if (income <= 171950)
            tax = 12000 * 0.1 + (46700 - 12000) * 0.15 + (112850 - 46700) * 0.27 + (income - 112850) * 0.3;
        else
            tax = 12000 * 0.1 + (46700 - 12000) * 0.15 + (171950 - 46700) * 0.27 + (171951 - 171950) * 0.3
                    + (income - 171950);
    }

    public static void ans3() { //家庭
        if(income<=10000)
            tax = income * 0.1;
        else if(income<=37450)
            tax=1000*0.1+(income-10000)*0.15;
        else if(income<=96700)
            tax = 1000 * 0.1 + (37450 - 10000) * 0.15 + (income - 37450) * 0.27;
        else if(income<=15600)
            tax = 1000 * 0.1 + (37450 - 10000) * 0.15 + (96700 - 37450) * 0.27 + (income - 96700)*0.3;
        else
            tax = 1000 * 0.1 + (37450 - 10000) * 0.15 + (96700 - 37450) * 0.27 + (15600 - 96700) * 0.3
                    + (income - 15600) * 0.35;
    }
    
    public static void main(String[] args) {
        Example2_7 input = new Example2_7();
        input.data();
        System.out.println("纳税人需要缴的税额为:"+tax+"元人民币");
    }
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值