Java实现简单个人所得税计算器相关操作代码
/**
* 个税计算器
* 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;
}
}
}
}
}
Java实现简单个人所得税计算器相关操作代码的更多相关文章
- 乐字节Java反射之四:反射相关操作
大家好,乐字节小乐继续为Java初学者讲述Java基础知识.上次说到乐字节Java反射之三:方法.数组.类加载器,这次是Java反射之四:反射相关操作 1.操作属性 //1.获取Class对象 Cla ...
- 《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,于是写了这一篇文章,另外也是 ...
- 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)
1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某 ...
- 《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
1.简介 本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能. 2.拖拽操 ...
- 01.Java 开发简单的计算器
难度为一般,适合具有 Java 基础和 Swing 组件编程知识的用户学习一. 实验介绍1.1 实验内容本次实验利用Java开发一个可以进行简单的四则运算的图形化计算器,会使用到 Java Swing ...
- java 发送邮件 email相关操作代码测试,生成复杂格式邮件,发送邮件相关操作
项目源码下载:http://download.csdn.net/detail/liangrui1988/6720047 效果图: 相关代码: test1 package com.mail; impor ...
- Java实现简单混合计算器
这个计算器并不是基于逆波兰实现的,而是通过简单的递归,一层一层地计算最终求得结果. 具体的图形化界面可以参考我的另外一个篇博客:基于逆波兰表达式实现图形化混合计算器,这里我只是简单的介绍一下怎样求得算 ...
- 超简单jQuary链式操作代码实现手风琴效果
超简单jQuery代码实现手风琴效果 HTML代码 <div id="cont"> <div> <p>人生若只如初见</p> < ...
- Java 最简单的计算器——使用Args参数
public class Test{ public static void main(String[] args){ if(args.length<3){ System.out.println( ...
- MYSQL 简单的建库操作代码
一.查询所有数据库 代码:show databases; 成功后如下图: 二.建立一个数据库 代码:create database test3: 成功后如下图: 三.连接数据库 代码:use test ...
随机推荐
- [机器学习] sklearn支持向量机
支持向量机SVM(Support Vector Machine)是一种用来进行模式识别.分类.回归的机器学习模型. SVM原理描述 模型表示 以一个客户好坏分类为案例,客户信息如下所示: 客户信息数轴 ...
- FPGA:乒乓球比赛模拟机的设计
简介 开发板:EGO1 开发环境:Windows10 + Xilinx Vivado 2020 数字逻辑大作业题目 7: 乒乓球比赛模拟机的设计 乒乓球比赛模拟机用发光二极管(LED)模拟乒乓球运动轨 ...
- 如何在 Nuxt 3 中使用 wavesurfer.js
安装 wavesurfer.js 在项目中安装 wavesurfer.js npm install --save wavesurfer.js 常规方式引入 如果你的根目录中没有 components ...
- CF构造题1600-1800(1)
D. Same Count One(Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!)) 题意 给定 \(n\) 个长度为 \(m\) 的 ...
- 除了Navicat和DBeaver,还有没有免费又好用的数据库管理/SQL工具推荐
很多国内SQL学习者和开发者对Navicat.DBeaver等国外数据库管理工具已经很熟悉了.但是,有没有比他们更适合SQL开发者的数据库管理/SQL工具呢?这里,笔者结合自己的调研来聊一下. 笔者做 ...
- VS保存后Unity不刷新
目录 问题:Visual Studio写完代码保存好,Unity不会重新编译 三种解决方案 1.先选为默认.重启Unity.更改为想要的代码编写软件. 2.查看Auto Refresh是否开启 3. ...
- Jvm--MinorGC过程
第一次GC: 在不断创建对象的过程中,当Eden区域被占满,此时会开始做Young GC也叫Minor GC 1)第一次GC时Survivous中S0区和S1区都为空,将其中一个作为To Surviv ...
- MATLAB实现随机森林(RF)回归与自变量影响程度分析
本文介绍基于MATLAB,利用随机森林(RF)算法实现回归预测,以及自变量重要性排序的操作. 目录 1 分解代码 1.1 最优叶子节点数与树数确定 1.2 循环准备 1.3 数据划分 1.4 随机 ...
- Vue08 数据代理
1 说明 所谓"数据代理",是指 通过一个对象代理对另一个对象的属性进行读或写操作. 2 简单示例 2.1 代码 let obj = {x:100}; let obj2 = {y: ...
- IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置
上一篇文章 IoT 边缘集群基于 Kubernetes Events 的告警通知实现 目标 告警恢复通知 - 经过评估无法实现 原因: 告警和恢复是单独完全不相关的事件, 告警是 Warning 级别 ...