01-Java基础语法(六)-案例

1.1 数字排序程序

1.1.1 问题:

​ 系统使用交互的方式给三个数字进行排序。例如:接收用户输入的三个整数a,b,c,a的原值是20,b的原值是5,c的原值是10,排序后a的值为5,b的值为10,c的值为20。系统交互情况如 图所示:
在这里插入图片描述

1.1.2 方案:

系统使用if语句实现对三个数的排序,首先判断a和b的大小情况并进行交换,代码如下:

在这里插入图片描述

其次判断a和c的大小情况,并进行交换,代码如下:

在这里插入图片描述

最后判断b和c的大小情况,并进行交换,代码如下:

在这里插入图片描述

1.1.3 参考代码:

import java.util.Scanner;

public class MaxofThree {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		System.out.println("请依次输入三个整数:a,b,c(以空格隔开)");
		int a=scanner.nextInt();
		int b=scanner.nextInt();
		int c=scanner.nextInt();
		scanner.close();
		System.out.println("a="+a+",b="+b+",c="+c);
		int temp=0;
		if(a>b) {
			temp = a;
			a = b;
			b = temp;
		}
		if(a>c) {
			temp = a;
			a = c;
			c = temp;
		}
		if(b>c) {
			temp = b;
			b = c;
			c = temp;
		}
		System.out.println("a="+a+",b="+b+",c="+c);
	}

}

1.1.4 扩展

用户在控制台输入 3 个数值,需要找出这 3 个数值中的最小值,要求使用 if 语句来实现。系统交互信息如图所示:

在这里插入图片描述

import java.util.Scanner;

public class MinofThree {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.println("请依次输入三个整数:a,b,c(以空格隔开)");
		int a=scanner.nextInt();
		int b=scanner.nextInt();
		int c=scanner.nextInt();
		scanner.close();
		
		int temp = a;
		if(temp>b) {
			temp = b;
		}
		if(temp>c) {
			temp = c;
		}
		System.out.println("最小值为:"+temp);
	}
}	



1.2 个人所得税计算器

1.2.1 问题:

计算个人所得税的缴纳情况。用户从控制台输入税前工资的金额,系统根据用户输入的工资金额计算应缴纳的税额,如图所示:

在这里插入图片描述

注:

工资个税的计算公式为:

应纳税额=(工资薪金所得-扣除数)×适用税率-速算扣除数

全月应纳税所得额=月工资薪金所得-扣除数

2011年 9月1日起执行7级超额累进税率:扣除数为3500元。

在这里插入图片描述

1.2.2 参考代码:

package day03;

import java.util.Scanner;

public class IncomeTax {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入你的工资的税前金额(¥):");
		double salary = scanner.nextDouble();
		double tax = 0.0;
		double taxIncome = salary-3500;
		if(taxIncome<=0) {
			tax = 0.0;
		}else if(taxIncome<=1500) {
			tax = taxIncome*0.03;
		}else if(taxIncome<=4500) {
			tax = taxIncome*0.10-105;
		}else if(taxIncome<=9000) {
			tax = taxIncome*0.20-555;
		}else if(taxIncome<=35000) {
			tax = taxIncome*0.25-1005;
		}else if(taxIncome<=55000) {
			tax = taxIncome*0.30-2755;
		}else if(taxIncome<=80000) {
			tax = taxIncome*0.35-5505;
		}else {
			tax=taxIncome*0.45-13505;
		}
		System.out.println("你应该缴纳的个人所得税是:¥"+tax);
		scanner.close();
	}
}

1.2.3 扩展:

​ 计算个人工资收入的保险缴纳情况以及个人所得税。用户从控制台输入税前工资的金额,系统根据用户输入的工资金额计算应缴纳的各项保险的总金额,并计算应该缴纳的税额。系统交互过程如图所示:
在这里插入图片描述

注:

工资个税的计算公式为:

应纳税额=(工资薪金所得-各项保险金额-扣除数)×适用税率-速算扣除数

全月应纳税所得额=月工资薪金所得-各项保险金额-扣除数

其中,各项保险金额的缴纳比例如下:

养老保险:月工资薪金所得 × 8%

医疗保险:月工资薪金所得 × 2%

失业保险:月工资薪金所得 × 0.2%

公积金:月工资薪金所得 × 12%

系统代码实现如下:

package day03;

import java.util.Scanner;

public class InsuranceTax {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入你的工资的税前金额(¥):");
		double salary=scanner.nextDouble();
		scanner.close();
		//计算各项保险金额
		double endowmentInsurance=salary*0.08;
		double medicalInsurance=salary*0.02;
		double unemploymentInsurance=salary*0.002;
		double accumulationFund=salary*0.12;
		double insurance=endowmentInsurance+medicalInsurance+unemploymentInsurance+accumulationFund;
		System.out.println("你应该缴纳的各项保险总金额为:¥"+insurance);
		//计算个税
		double tax=0.0;
		double taxIncome=salary-insurance-3500;
		if(taxIncome<=0) {
			tax = 0.0;
		}else if(taxIncome<=1500) {
			tax = taxIncome*0.03;
		}else if(taxIncome<=4500) {
			tax = taxIncome*0.10-105;
		}else if(taxIncome<=9000) {
			tax = taxIncome*0.20-555;
		}else if(taxIncome<=35000) {
			tax = taxIncome*0.25-1005;
		}else if(taxIncome<=55000) {
			tax = taxIncome*0.30-2755;
		}else if(taxIncome<=80000) {
			tax = taxIncome*0.35-5505;
		}else {
			tax=taxIncome*0.45-13505;
		}
		System.out.println("你应该缴纳的个人所得税是:¥"+tax);
		scanner.close();
	}
}

1.3、本节内容有问题的可以扫描下方QQ二维码寻求帮助

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

听潮阁

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

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

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

打赏作者

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

抵扣说明:

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

余额充值