首页 > 编程语言 >Java实现简单个人所得税计算器相关操作代码

Java实现简单个人所得税计算器相关操作代码

时间:2023-02-27 22:55:28浏览次数:53  
标签:salary Java 计算器 tax System 个人所得税 year println out

/**
* 个税计算器
* 1.通过键盘输入用户的月薪
* 2.百度搜素个税计算方法,计算出应缴纳的税款
* 3.直到键盘输入88,则退出程序(使用break语句退出循环)
* 应纳税所得额=工资收入金额-起征点(5000)
* 应纳税额=应纳税所得额*税率-速算扣除数
个人所得税税率表一(综合所得适用)
级数 全年应纳税所得额 税率(%) 速算扣除数
1 不超过36000元的 3 0
2 超过36000元至144000元的部分 10 2520
3 超过144000元至300000元的部分 20 16920
4 超过300000元至420000元的部分 25 31920
5 超过420000元至660000元的部分 30 52920
6 超过660000元至960000元的部分 35 85920
7 超过960000元的部分 45 181920

*/
import java.util.Scanner;//导入
public class single_salary {
public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.println("******个税计算器******");
while(true){
System.out.println("请输入用户的月薪:");
double month_salary=s.nextDouble();
if(month_salary<5000){
System.out.println("免税收。");
}else{
System.out.println("请输入一年几个月的薪资:");
int months=s.nextInt();
double year_salary=month_salary*months;
System.out.println("年薪是:"+year_salary);
double tax_income=year_salary-5000*12;//一年应纳税所得额
double tax=0;//一年应纳税额初始化为0
if(year_salary<=36000){
tax=year_salary*0.03-0;
year_salary=year_salary-tax;
} else if (year_salary<=144000) {
tax=year_salary*0.10-2520;
year_salary=year_salary-tax;
} else if (year_salary<=300000) {
tax=year_salary*0.20-16920;
year_salary=year_salary-tax;
}else if(year_salary<=420000){
tax=year_salary*0.25-31920;
year_salary=year_salary-tax;
} else if (year_salary<=660000) {
tax=year_salary*0.30-52920;
year_salary=year_salary-tax;
} else if (year_salary<=960000) {
tax=year_salary*0.35-85920;
year_salary=year_salary-tax;
} else{
tax=year_salary*0.45-181920;
year_salary=year_salary-tax;
}
System.out.println("一年应纳税所得额:"+tax_income+"元\t"+"一年应纳税额:"+tax+"元\t"+"一年实发工资:"+year_salary+"元\t");
System.out.println("输入88,退出程序;输入66,继续循环");
int cmd=s.nextInt();
if(cmd==88){
System.out.println("程序结束,退出程序。");
break;
} else if (cmd==66) {
System.out.println("继续进行程序。");
continue;
}
}
}
}
}

标签:salary,Java,计算器,tax,System,个人所得税,year,println,out
From: https://www.cnblogs.com/shidawuyu/p/17162285.html

相关文章

  • java的基本语法-变量
    变量可以变化的量Java是一种强类型语言,,每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域注意事项每个变量都有......
  • 三天吃透Java并发八股文!
    本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校......
  • JavaWeb 读资源的问题-2023-2-27
    1、db.properties文件中读取username和password2、getResourceAsStream("/web-inf/classes/db.properties")3、properties.getProperty("username")publicclass......
  • Java应用【八】使用网络编程进行 socket 通信
    如果您觉得本博客的内容对您有所帮助或启发,请关注我的博客,以便第一时间获取最新技术文章和教程。同时,也欢迎您在评论区留言,分享想法和建议。谢谢支持!相关阅读:​​Java应用【......
  • 并发多线程学习(三)Java多线程入门类和接口
    1Thread类和Runnable接口上一章我们了解了操作系统中多线程的基本概念。那么在Java中,我们是如何使用多线程的呢?首先,我们需要有一个“线程”类。JDK提供了Thread类和Runn......
  • 并发多线程学习(五)Java线程的状态及主要转化方法
    1操作系统中的线程状态转换首先我们来看看操作系统中的线程状态转换。在现在的操作系统中,线程是被视为轻量级进程的,所以操作系统线程的状态其实和操作系统进程的状态是......
  • 并发多线程学习(六)Java线程间的通信
    合理的使用Java多线程可以更好地利用服务器资源。一般来讲,线程内部有自己私有的线程上下文,互不干扰。但是当我们需要多个线程之间相互协作的时候,就需要我们掌握Java线程的......
  • Java学习——Markdown语法
    标题:#+空格+标题名,支持1到6级标题,几级标题几个#1#+空格+一级标题2##+空格+二级标题3###+空格+三级标题4####+空格+四级标题5#####+空格+五级标题6######+空格+六级......
  • java.net.URL getHost因#@同时存在时优先级问题导致的SSRF
    #作为锚点,后面的会忽略;@作为登录信息,前面的会忽略对于java.net.URL取主机getHost()函数,当#@同时存在时,高版本#优先,取#前的;低版本@优先,取@后的。从而导致低版本(具体各......
  • javascript的void运算符
    1<!DOCTYPEhtml>2<htmllang="en">34<head>5<metacharset="UTF-8">6<metahttp-equiv="X-UA-Compatible"content="IE=edge">7......