一起来学习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); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)