Java应用之if和switch语句的使用【计算纳税款和实得工资数】

Java应用之if和switch语句的使用【计算纳税款和实得工资数】,第1张

Java应用之if和switch语句的使用【计算纳税款和实得工资数】

一起来学习Java鸭!

今天呢,星辰带来的是if和switch语句的小应用,税率不同的情况下,纳税款和实得工资数如何计算,我们先来看一下需求:

需求:求纳税款和实得工资数
     不同工资s的税率p如下:
         s < 1000                  p = 0 %
         1000 <= s < 2000    p = 5 %
         2000 <= s < 3000    p = 8 %
         3000 <= s < 5000    p = 10 %
         5000 <= s                p = 15 %

好的,来看一下采用if和switch代码该如何写呢?

使用if分支语句比较简单一些

//加载util包
import java.util.*;

public class IfTest {

public static void main(String args[ ]) {
    
    Scanner  reader = new Scanner(System.in);

    //s为工资,p为税率,t 为纳税款,s1为实得工资数
    double s,p,t,s1;

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

    //键盘键入工资数
    s = reader.nextDouble();

    //使用if的多分支语句
    if(s < 1000) {                
        p = 0;
    }else if(s < 2000) {
        p = 0.05;
    }else if(s < 3000) {
        p = 0.08;
    }else if(s < 5000) {
        p = 0.1;
    }else {
        p = 0.15;
    }

    //计算纳税款
    t = s * p;

    //计算实得工资数
    s1 = s - t;

    System.out.println("纳税款为" + t + "," + "实得工资数为" + s1);
   }
}

使用switch语句核心是case该如何写

星辰想的是用工资千位上的数来判断范围,这样又有一个问题,如何取出千位上的数字呢,用s去除以1000,因为s是double类型的数据,所以除完之后是一个小数,我们不可能在case里把所有的小数全部写完,所以运用强制类型转换成int类型,这样例如:最后结果是1的话,一定是1000 <= s < 2000,我们就可以判断出s的范围,从而得出税率,计算相应数据啦~

//加载util包
import java.util.*;

public class SwitchTest {

   public static void main(String args[ ]) {
	   
      Scanner  reader = new Scanner(System.in);
      //s为工资,p为税率,t 为纳税款,s1为实得工资数
      double s,p,t,s1;

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

      //键盘键入工资数
      s = reader.nextDouble();

      //x为工资所属范围
      int x = (int)(s / 1000);

      //使用switch控制语句
      switch(x) {
      	case 0 ://s < 1000
      		p = 0;
      		break;
      	case 1 ://1000 <= s < 2000
      		p = 0.05;
      		break;
      	case 2 ://2000 <= s < 3000
      		p = 0.08;
      		break;
      	case 3 : case 4 ://3000 <= s <5000
      		p = 0.1;
      		break;
      	default :
      		p = 0.15;
      		break;
      }

      //计算纳税款
      t = s * p;

      //计算实得工资数
      s1 = s - t;

      System.out.println("纳税款为" + t + "," + "实得工资数为" + s1);
   }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5611667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存