PTA 7-4 NCHU_房产税费计算

房屋交易在日常生活中非常常见的事情,房屋交易时要额外支付各种税费,按2022年房产交易新政策的规定买房人应缴纳税费包括:

1、契税:首次购房评估额90平(含)内1%、90平-144平(含)内1.5%,超过144平或非首 次3%,买方缴纳。

2、印花税:房款的0.05%。

3、交易费:3元/平方米。

4、测绘费:1.36元/平方米。

5、权属登记费及取证费:一般情况是在200元内。

输入格式:

四个数据,以空格分隔:
1、第几次购房(整数)
2、房款(整数/单位万元)
3、评估价(整数/单位万元)
4、房屋面积(浮点数/单位平方米)。
例如:1 100 100 90。

输出格式:

契税、印花税、交易费、测绘费(以元为单位),以空格分隔。例如:10000.0 500.0 270.0 122.4

输入样例:

在这里给出一组输入。例如:

1 100 100 90

输出样例:

在这里给出相应的输出。例如:

10000.0 500.0 270.0 122.4

 注意事项

此题要注意的是——Java中有类型自动提升的规则,int类型会自动提升为double类型,因此乘法运算时,assessmentPrice * 10000的结果会自动转换为double类型。但是,将double类型的结果赋值给float类型的变量(如deedTax)时,可能会丢失精度。

为了解决这个问题,可以通过将结果强制转换为float类型来避免数据丢失,如下所示:

deedTax = (float) (assessmentPrice * 10000 * 0.01);

代码 

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int purchaseTimes = sc.nextInt();
        int housePrice = sc.nextInt();
        int assessmentPrice = sc.nextInt();
        float houseArea = sc.nextInt();

        float deedTax, steampTax, transactionFee, surveyFee;
        if (purchaseTimes == 1)
        {
            if (houseArea <= 90)
            {
                deedTax = (float)(assessmentPrice * 10000 * 0.01);
            }
            else if (houseArea <= 144) {
                deedTax = (float)(assessmentPrice * 10000 * 0.015);
            }
            else {
                deedTax = (float)(assessmentPrice * 10000 * 0.03);
            }
        }
        else {
            deedTax = (float)(assessmentPrice * 10000 * 0.03);
        }

        steampTax = (float)(housePrice * 10000 * 0.0005);
        transactionFee = houseArea * 3;
        surveyFee = houseArea * 1.36f;

        System.out.println(deedTax + " " + steampTax + " " + transactionFee + " " + surveyFee);


    }
}

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H._

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值