




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计课程设计报告题 目: 个人所得税系统 院 系: 计算机与信息工程系 专 业: 计算机科学与技术 班 级: 2班(10级) 学 号: 学生姓名: 指导教师: 成 绩: 2013年 6月2 日目 录面向对象程序设计1一、摘要3二、需求分析421背景介绍422功能需求5三、总体设计5四、详细设计5五、个人所得税收取资料6六、功能模块6七、代码实现及运行情况:7八、代码清单:9九、小结20十、参考文献21一、摘要 本设计是一个基于命令行界面的计算个人所得税应用程序,根据用户输入的当月工资薪金总额计算应缴纳的个人所得税额。为适应未来个人所得税法的可能变化,该程序支持对个人所得税起征点进行调整的功能,并且个人所得税各级税率允许修改。利用一些简单的菜单方式让用户选择所需的功能。设计中主要用到JFrame 、Frame、JTextField、TextField、Button这几个类。关键字:计算个人所得税、JFrame 、Frame、JTextField、TextField、Button二、需求分析21背景介绍 个人所得税,是调整征税机关与自然人之间在个人所得税的征纳与管理过程中所发生的社会关系的法律规范的总称。凡在中国境内有住所,或者无住所而在中国境内居住满一年的个人,从中国境内和境外取得所得的,以及在中国境内无住所又不居住或者无住所而在境内居住不满一年的个人,从中国境内取得所得的,均为个人所得税的纳税人。随着社会和经济的发展,计算个人所得税已成为人们日常生活中必不可少的重要内容,因此一个计算所得税系统是人们生活中一个重要的计算工具。根据此背景,我将开发了一个简单而且容易操作的个人所得税的系统,希望能够给人们带来方便。22功能需求 本系统是一个计算个人所得税的应用程序,用户可以输入的当月工资薪金总额,从而系统会自动计算应缴纳的个人所得税额。同时,根据实际情况,还增加了个人所得税的修改等功能,通过简洁的菜单栏上的操作,用户可以轻松地根据实际情况作出税率等数据的调整,从而达到准确的计算结果。三、总体设计 根据Java的特点,我利用类的设计,简单实现查询当前免征基数及税率、更改免征基数、更改税率、个人所得税的计算的功能。方便用户使用及查询。在类的设计过程中, 主要用到了以下几个类:GRS:、Windowclose: 、Calculate: 、XiuGai1、XiuGai2: 四、详细设计以下是每个类的设计:GRS:主体类:此类是用于显示主窗体中,所有类都是此类的内部类。Windowclose: 关闭窗体类,这个类的作用是当要关闭一个窗体调用这类Calculate:用于计算税,这个类主要用于完成税的计算,这个类继承了ActionListener 接口,用于监听calculate按钮产生的事件。XiuGai1: 修改免征基数XiuGai2: 修改税率五、个人所得税收取资料【附:个人所得税计算方法】我国税法规定,公民每月工资、薪金收入总额超过800元(2006年修订立法改为1,600元2008年,免征额从1600元提高到2000元)者应缴纳个人所得税。收入总额减去免征基数后剩余部分称为应纳税所得额,应纳税所得额按下表规定的超额累进税率计算应缴纳的个人所得税(实际上个人所得税税率表共分9级,最高税率为45%,本实验可简化为5级)。级别应纳税所得额税率1超过500元的52超过500元至2,000元的部分103超过2,000元至5,000元的部分154超过5,000元至20,000元的部分205超过20,000元部分25六、功能模块系统的模块主要是按照功能进行划分的,个人所得税系统包括计算个人所得税模块、查询免征起征点和税率模块、修改税率模块及修改免征基数模块。这四大模块完成了该项目主要功能。结构如下图所示。个人所得税系统计算个人所得税查询免征起征点和税率修改税率修改免征基数七、代码实现及运行情况:1. 用javac Application运行程序的命令行显示如下界面: 2、登录后进入选择功能界面:3、进行选择功能:选择功能1,计算个人所得税。输入工资,计算出结果2. 进行功能选择:选择功能2,查询免征基数和税率,查询结果如下图所示: 4、进行功能选择:选择功能3,修改免征基数,运行结果如下图:5、进行功能选择:选择功能4,修改税率。运行结果如下:八、代码清单:import java.awt.Choice;import java.awt.Dialog;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.List;import java.awt.ScrollPane;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.lang.String;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import java.awt.BorderLayout;import java.awt.Frame;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;/用户登录界面public class GRS extends Frame implements ActionListener private static final long serialVersionUID = L;static double base=1600; /免征基数static double taxRate=0.05, 0.10, 0.15, 0.20, 0.25;/各级税率public static void main(String args) Frame frame = new Frame();new GRS(frame);Label Label1 = new Label(用户名:);TextField textfieldialog = new TextField(密码:123);Label Label2 = new Label(用户密码:);TextField textfield2 = new TextField(10);Label Label5 = new Label(用户地区:);Choice choice = new Choice();Label Label6 = new Label(用户类别:);List list = new List(2, false);JButton button1 = new JButton(确定);JButton button2 = new JButton(取消);Dialog dialog = new Dialog(this, 提示信息, false);ScrollPane sp = new ScrollPane();public GRS(Frame frame) super(个人所得税查询);add(Label1);add(textfieldialog);add(Label2);textfield2.setEchoChar(*);add(textfield2);add(Label5);choice.addItem(广东);choice.addItem(上海);choice.addItem(北京);add(choice);add(Label6);list.add(普通用户);list.add(管理员);sp.add(list);add(sp);add(button1);button1.addActionListener(this);add(button2);button2.addActionListener(this);setLayout(new GridLayout(5, 2, 5, 20);setBounds(430, 430, 300, 200);setResizable(false);setVisible(true);addWindowListener(new windowclose();public class windowclose extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0);/主菜单public void actionPerformed(ActionEvent e) if (e.getActionCommand().equals(确定) if (textfield2.getText().trim().equals(123) addWindowListener(new windowclose();JFrame f = new JFrame(主菜单);JButton button5 = new JButton(1: 计算个人所得税);JButton button6 = new JButton(2: 查询免征基数和税率);JButton button7 = new JButton(3: 修改免征基数);JButton button8 = new JButton(4: 修改税率); f.add(button5);f.add(button6);f.add(button7);f.add(button8); button5.addActionListener(new ButAL(); button6.addActionListener(new ChaXun(); button7.addActionListener(new XiuGai1(); button8.addActionListener(new XiuGai2();f.setLayout(new GridLayout(2, 2, 5, 20);f.setBounds(385, 420, 400, 220);f.setResizable(false);f.setVisible(true);else dialog.setLayout(new FlowLayout(FlowLayout.CENTER);Label tf = new Label(对不起,密码错误,请重试);dialog.add(tf);dialog.setBounds(455, 430, 250, 60);dialog.setResizable(false);dialog.setVisible(true);dialog.addWindowListener(new windowclose(); elseSystem.exit(0);/计算个人所得税private class ButAL implements ActionListener double income = -1; /个人收入double revenue = -1; /个人所得税JTextField testField;JTextField resultField;GRS r;public void actionPerformed(ActionEvent event) JFrame f = new JFrame(个人所得税的计算);JLabel jl = new JLabel(请输入你的工资:);JLabel result = new JLabel(计算的结果:); testField = new JTextField(5);resultField = new JTextField(5);JButton calculate = new JButton(计算);calculate.addActionListener(new Calculate();f.add(jl);f.add(testField);f.add(calculate);f.add(result);f.add(resultField);f.setLayout(new GridLayout(2, 3, 3, 20);f.setBounds(380, 500, 400, 100);f.setResizable(false);f.setVisible(true);private class Calculate implements ActionListener Overridepublic void actionPerformed(ActionEvent e) String s1 = testField.getText().trim();income = Double.valueOf(s1);double taxible = income - r.base;if (taxible 20000)revenue = (taxible - 20000) * r.taxRate4 + 15000* r.taxRate3 + 3000 * r.taxRate2 + 1500* r.taxRate1 + 500 * r.taxRate0;else if (taxible 5000)revenue = (taxible - 5000) * r.taxRate3 + 3000 * r.taxRate2+ 1500 * r.taxRate1 + 500 * r.taxRate0;else if (taxible 2000)revenue = (taxible - 2000) * r.taxRate2 + 1500 * r.taxRate1+ 500 * r.taxRate0;else if (taxible 500)revenue = (taxible - 500) * r.taxRate1 + 500 * r.taxRate0;else if (taxible 0)revenue = taxible * r.taxRate0;else if (taxible 0 & rateLevel6)r.taxRaterateLevel-1 = rateLevel; /修改税率级别tf1.setText(请继续!);else tf1.setText(税率级别错误,修改失败!);private class TF2Listener implements ActionListener Overridepublic void actionPer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆软件合同协议
- 帮写协议或者合同
- 工地用工合同协议
- 改造鱼池合同协议
- 改制咨询合同协议
- 2025年中国石英玻璃光纤跳线市场调查研究报告
- 2025年中国电子扭力测量表市场调查研究报告
- 2025年中国溶氧监控仪市场调查研究报告
- 2025年中国水果奶糖市场调查研究报告
- 2025年菠萝果味橡皮糖项目可行性研究报告
- 中医药适宜技术颈椎病课件
- 幼小衔接视野下大班幼儿学习习惯的现状调查及养成策略研究
- 中职电子商务班级建设方案
- 2024年广发证券股份有限公司招聘笔试参考题库含答案解析
- 小儿常见病的预防和护理
- 《教育学》课件 第五章 学校教育制度
- 毕业论文-XXX公司招聘管理的研究
- 单位降薪通知范本
- 中国资本市场发展历程、问题及前瞻
- 电子病历系统开发和实施项目可行性分析报告
- 泵车作业安全协议书
评论
0/150
提交评论