文章目录
- 1.1 数字排序程序
- 1.1.1 问题:
- 1.1.2 方案:
- 1.1.3 参考代码:
- 1.1.4 扩展
- 1.2 个人所得税计算器
- 1.2.1 问题:
- 1.2.2 参考代码:
- 1.2.3 扩展:
- 1.3、本节内容有问题的可以扫描下方QQ二维码寻求帮助
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();
}
}