《个人所得税计算系统》设计

一、需求说明

设计一个简易的个人所得税计算系统,通过输入个人应发工资计算出各个地区的三险(医疗保险、养老保险)一金(公积金)和个人所得税。系统需要实现用户登录、退出、选择地区计算三险一金、个人所得税等功能,并且相关功能要实现循环使用。相关数据如下图所示:

 

相关计算公式:

个人所得税 =(应发工资 - 三险一金 - 5000)* 税率 – 速算扣除数

税后工资 = 应发工资 – 个人所得税

实发工资 = 税后工资 - 三险一金

养老保险 = 应发工资 * 比例

医疗保险 = 应发工资 * 比例

失业保险 = 应发工资 * 比例

公积金 = 应发工资 * 比例

二、实现效果

2.1 用户登录

验证登录账号及密码,验证通过则进入系统,验证不通过则提示错误信息,并重新回到用户登录界面。

2.2 退出系统

选择退出系统则提示退出系统成功并回到系统登录界面。

2.3 计算个人所得税

成功登录系统后,选择城市,并输入应发工资计算出养老保险、医疗保险、失业保险、公积金、个人所得税、税后工资以及实发工资,并将相关数据打印出来,随后重新回到选择城市界面。

 

实现代码:

import java.util.Scanner;public class T1_IncomeTax {public static void main(String[]agrs) {Scanner sc = new Scanner(System.in);System.out.println("欢迎访问个人所得税计算系统!请先登录......");System.out.println("***************用户登录***************");String user_name;//用户名String user_password;//密码do {System.out.println("请输入账号:");user_name = sc.next();System.out.println("请输入密码:");user_password = sc.next();System.out.println("默认账户名:0000,密码123456");}while(!"0000".equals(user_name)||!"123456".equals(user_password));//}while((user_name!=0000)&&(user_password!=123456));System.out.println("***************恭喜你登录成功!!***************");int user_choiceNo = 7;while(user_choiceNo!=0000) {System.out.println("请选择你所在的城市:");System.out.println("1、昆明;2、成都;3、西安;4、北京;5、上海;\r 6、深圳;7、退出系统");user_choiceNo = sc.nextInt();String user_city = null;//用户所在城市double Eendowment_Insurance = 0.08;//养老保险double Medical_Insurance = 0.02;//医疗保险double Unemployment_Insurance = 0;//失业保险double Accumulation_Fund = 0;//公积金switch (user_choiceNo) {case 1:user_city = "昆明";Unemployment_Insurance = 0.005;Accumulation_Fund = 0.10;break;case 2:user_city = "成都";Unemployment_Insurance = 0.01;Accumulation_Fund = 0.07;break;case 3:user_city = "西安";Unemployment_Insurance = 0.01;Accumulation_Fund = 0.08;break;case 4:user_city = "北京";Unemployment_Insurance = 0.002;Accumulation_Fund = 0.12;break;case 5:user_city = "上海";Unemployment_Insurance = 0.005;Accumulation_Fund = 0.07;break;case 6:user_city = "深圳";Unemployment_Insurance = 0.05;Accumulation_Fund = 0.01;break;case 7:System.out.println("您已经退出系统!");break;default:break;}System.out.println("请输入你的应发工资【"+user_city+"】:");double user_income =  sc.nextInt();double EI = user_income*Eendowment_Insurance;//计算后的养老保险double MI = user_income*Medical_Insurance;//计算后的医疗保险double UI = user_income*Unemployment_Insurance;//计算后的失业保险double AF = user_income*Accumulation_Fund;//计算后的公积金double sl = 0;//税率double ss = 0;//速算扣除法double gs = 0;//个人所得税double sh = 0;//税后工资double sf = 0;//实发工资if(user_income>=0) {}else if(user_income<=5000){sl = 0;ss = 0;}else if(user_income<=8000){sl = 0.03;ss = 0;}else if(user_income<=17000){sl = 0.1;ss = 210;}else if(user_income<=30000){sl = 0.2;ss = 1410;}else if(user_income<=40000){sl = 0.25;ss = 2660;}else if(user_income<=60000){sl = 0.3;ss = 4410;}else if(user_income<=85000){sl = 0.35;ss = 7610;}else{sl = 0.45;ss = 15160;}gs = (user_income-(EI+MI+UI+AF)-5000)*sl-ss;sh = user_income - gs;sf = sh - (EI+MI+UI+AF);System.out.println("***************个人所得税详细信息【"+user_city+"】***************");System.out.print("养老保险【"+Eendowment_Insurance*100+"%】:"+EI+"\t");System.out.print("医疗保险【"+Medical_Insurance*100+"%】:"+MI+"\n");System.out.print("失业保险【"+Unemployment_Insurance*100+"%】:"+UI+"\t");System.out.print("公积金【"+Accumulation_Fund*100+"%】:"+AF+"\n");System.out.printf("个人所得税:%.2f\n",gs);System.out.println("------------------------------------------");System.out.printf("税后工资:%.2f\n",sh);System.out.printf("实发工资:%.2f\n",sf);}}
}

Java基础寒假作业-个人所得税计算系统相关推荐

  1. 计算机基础应用寒假作业,计算机基础寒假作业.doc

    计算机基础寒假作业 第一部分?? 一.单项选择题 1.世界上第一台电子数字计算机取名为(????). A.UNIVAC????B.EDSAC????C.ENIAC????D.EDVAC 2.操作系统的 ...

  2. 计算机应用基础寒假作业,计算机应用基础理论试卷寒假作业.doc

    计算机应用基础理论试卷寒假作业 潜江市职业教育中心<计算机基础知识>寒假作业一?选择题:1.现代信息社会的主要标志是?___?.?(A)?汽车的大量使用??(B)?人口的日益增长???(C ...

  3. Java基础 课后作业错题集

    目录 ----------  ch01-ch02 ----------  ch03 ----------  ch04 ----------  ch05 ----------  ch05编程题 ---- ...

  4. java基础国庆作业_国庆JAVA作业

    动手动脑1 运行enumtest.java程序我明白了JAVA中枚举类型,s和t不能引用同一个对象.不是原始对象,可以实现从字符串中的转换. 动手动脑2 原码就是符号位加上真值的绝对值, 即用第一位表 ...

  5. Java基础编程作业3

    1-IntReceiver类可以接受指定范围内的整数值 IntReceiver类可以接受指定范围内的整数值,具有下面四个属性: 最大的可接受值 最小的可接受值 输入提示字符串 错误消息字符串 并具有一 ...

  6. java基础国庆作业_java程序设计国庆作业

    public class X{ public static void main(String[] args){ //第一题 System.out.println("5+5="+5+ ...

  7. java基础国庆作业_0715于昊-国庆作业.md

    ## 一.简答题 ### 1. Redis的持久化方式有哪些?各有何利弊? 1. RDB持久化 RDB 是以二进制文件,是在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化 ...

  8. java基础国庆作业_第四次作业 java程序设计国庆作业

    public class X{ public static void main(String[] args){ //第一题 System.out.println("5+5="+5+ ...

  9. 翁恺《零基础学习Java语言》作业答案 第1周到第7周

    翁恺<零基础学习Java语言>作业答案 第1周到第7周全部 文章目录 前言 一.第1周 计算 1.温度转换 二.第2周 判断 1.时间换算 2.信号报告 二.第3周 循环 1.奇偶个数 2 ...

  10. 计算机基础应用寒假作业,计算机应用基础理论试题寒假作业.doc

    计算机应用基础理论试题寒假作业.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 潜江市职业教育中心<计算机基础知识> ...

最新文章

  1. android的数据存储方式有哪几种方式,android存储数据的几种方式比较
  2. 在Android Studio中打开Android Device Monitor时报错的解决方法
  3. UltraTextEditor
  4. Sqoop导入导出的时候总是出现等待5分钟的问题解决办法
  5. MySQL数据库视图(view),视图定义、创建视图、修改视图
  6. mtk一键usb驱动_6寸三防手持终端 Windows系统 安卓系统,高通 MTK 条码扫描 NFC
  7. 如何实现 迭代器 可迭代对象 (2.1)
  8. 信用证,保理,支付宝的模式和区别
  9. 如何改变报表在页面显示的大小和位置?
  10. HTML点击头像修改页面,头像修改页.html
  11. Vue组件化|通用组件开发——Notification通知组件
  12. Linux 阻塞和非阻塞I/O
  13. 各纬度气候分布图_【地理】气候类型的分布规律及分布图的判读 [图片]
  14. datanucleus+spring 的JDO操作 select save update delete
  15. C语言关闭终端回显【转】
  16. 等额本息与等额本金,从财务管理的角度充分考虑货币时间价值,哪个对于购房人来说更划算?
  17. 中级软考有没有必要考?
  18. oracle 字段是合法日期,Oracle中日期字段的处理
  19. DONNET俱乐部的新拐点-加入“国际.NET协会”The International .NET Association (INETA)
  20. java 正则表达式大写字母_java字符串根据正则表达式让单词首字母大写

热门文章

  1. Codeforces Round #469 (Div. 2) C. Zebras
  2. PyCharm搜索技巧快捷键
  3. python3.6从入门到精通mobi_Python 3.6零基础入门与实战epub
  4. Excel使用right函数截断数据,并覆盖原来的数据
  5. Android Studio3.0对于百度地图SDK的开发(基于方向传感器实现手机朝向显示)
  6. 如何给php安装上pecl,PHP安装PECL扩展的方法
  7. 软工网络15个人阅读作业1-评分发布
  8. pancake-frontend(薄饼)二次开发
  9. 炼数成金深入BI - Kettle 篇
  10. 腾讯实习结束总结+感悟