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 ...
随机推荐
- [OpenCV实战]29 使用OpenCV实现红眼自动去除
目录 1 红眼消除 1.1 眼部检测 1.2 红眼遮掩 1.3 清除瞳孔掩模空洞 1.4 红眼修复 2 结果与完整代码 2.1 结果 2.2 代码 3 参考 在本教程中,我们将学习如何完全自动地从照片 ...
- Flutter异常监控 - 肆 | Rollbar源码赏析
一. Rollbar可以帮你解决哪些问题 无特别说明,文中Rollbar统指Rollbar-flutter 1. 代码复用 Rollbar官方文档说是纯Dart实现,该特征意味着自带"代码复 ...
- python之路50 ORM执行SQL语句 操作多表查询 双下线方法
ORM执行查询SQL语句 有时候ORM的操作效率可能偏低 我们是可以自己编写SQL的 方式1: models.User.objects.raw('select * from app01_user;') ...
- 题解P3847 [TJOI2007]调整队形
简要题意 给出一个长度为 \(n\) 的序列 \(A\),你需要执行下面的操作,将这个序列变成回文序列: 在序列左右侧或中间插入一个元素,元素数值任意. 删除一个元素. 更改一个元素的值. \(1 \ ...
- Docker 基础 - 1
镜像 获取镜像 docker pull 查看镜像信息 docker images docker inspect <images id> # 获取镜像的详细信息 搜寻镜像 docker se ...
- 顺手写的redis分布式锁
/** * 锁定一个key,***一定要手工释放锁 * * @param key * @return */ public boolean lockKey(String key) { return re ...
- c++ stl 详解 csp备考
最近在准备csp认证考试,打算使用c++语言,以下是关于c++ stl库的内容: algorithm概览(作者:当格子衫爱上Helloworld) stl库详解(作者:c语言中文网) https:// ...
- 简单了解C语言如何构建多文件项目
简单理解C语言如何构建工程 首先我们最好有一个好用的编辑器,vscode也好,visual studio也罢,dev也行,这里我们使用的是code::block: 一.了解C语言工程的构建原理 首 ...
- Vue12 监视属性
1 简介 所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听属性,意思就是可以监视其他数据的变化 2 使用 使用watch配置项,在配置项里面写上要监视的属性,每次属性值的变化都 ...
- .NET周报 【2月第2期 2023-02-11】
国内文章 SQLSERVER的truncate和delete有区别吗? https://mp.weixin.qq.com/s/wTIeW8rjj3cRzoaQcg2sOw 在面试中我相信有很多朋友会被 ...