个人所得税课程设计.docx

上传人:b****1 文档编号:2524867 上传时间:2023-05-03 格式:DOCX 页数:20 大小:97.07KB
下载 相关 举报
个人所得税课程设计.docx_第1页
第1页 / 共20页
个人所得税课程设计.docx_第2页
第2页 / 共20页
个人所得税课程设计.docx_第3页
第3页 / 共20页
个人所得税课程设计.docx_第4页
第4页 / 共20页
个人所得税课程设计.docx_第5页
第5页 / 共20页
个人所得税课程设计.docx_第6页
第6页 / 共20页
个人所得税课程设计.docx_第7页
第7页 / 共20页
个人所得税课程设计.docx_第8页
第8页 / 共20页
个人所得税课程设计.docx_第9页
第9页 / 共20页
个人所得税课程设计.docx_第10页
第10页 / 共20页
个人所得税课程设计.docx_第11页
第11页 / 共20页
个人所得税课程设计.docx_第12页
第12页 / 共20页
个人所得税课程设计.docx_第13页
第13页 / 共20页
个人所得税课程设计.docx_第14页
第14页 / 共20页
个人所得税课程设计.docx_第15页
第15页 / 共20页
个人所得税课程设计.docx_第16页
第16页 / 共20页
个人所得税课程设计.docx_第17页
第17页 / 共20页
个人所得税课程设计.docx_第18页
第18页 / 共20页
个人所得税课程设计.docx_第19页
第19页 / 共20页
个人所得税课程设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

个人所得税课程设计.docx

《个人所得税课程设计.docx》由会员分享,可在线阅读,更多相关《个人所得税课程设计.docx(20页珍藏版)》请在冰点文库上搜索。

个人所得税课程设计.docx

个人所得税课程设计

 

面向对象程序设计

课程设计报告

 

题目:

个人所得税系统

 

院系:

计算机与信息工程系

专业:

计算机科学与技术

班级:

2班(10级)

学号:

学生姓名:

指导教师:

成绩:

2013年6月2日

目录

面向对象程序设计1

一、摘要3

二、需求分析4

2.1背景介绍4

2.2功能需求5

三、总体设计5

四、详细设计5

五、个人所得税收取资料6

六、功能模块6

七、代码实现及运行情况:

7

八、代码清单:

9

九、小结20

十、参考文献21

 

一、摘要

本设计是一个基于命令行界面的计算个人所得税应用程序,根据用户输入的当月工资薪金总额计算应缴纳的个人所得税额。

为适应未来个人所得税法的可能变化,该程序支持对个人所得税起征点进行调整的功能,并且个人所得税各级税率允许修改。

利用一些简单的菜单方式让用户选择所需的功能。

设计中主要用到JFrame、Frame、JTextField、TextField、Button

这几个类。

关键字:

计算个人所得税、JFrame、Frame、JTextField、TextField、Button

二、需求分析

2.1背景介绍

个人所得税,是调整征税机关与自然人之间在个人所得税的征纳与管理过程中所发生的社会关系的法律规范的总称。

凡在中国境内有住所,或者无住所而在中国境内居住满一年的个人,从中国境内和境外取得所得的,以及在中国境内无住所又不居住或者无住所而在境内居住不满一年的个人,从中国境内取得所得的,均为个人所得税的纳税人。

随着社会和经济的发展,计算个人所得税已成为人们日常生活中必不可少的重要内容,因此一个计算所得税系统是人们生活中一个重要的计算工具。

根据此背景,我将开发了一个简单而且容易操作的个人所得税的系统,希望能够给人们带来方便。

2.2功能需求

本系统是一个计算个人所得税的应用程序,用户可以输入的当月工资薪金总额,从而系统会自动计算应缴纳的个人所得税额。

同时,根据实际情况,还增加了个人所得税的修改等功能,通过简洁的菜单栏上的操作,用户可以轻松地根据实际情况作出税率等数据的调整,从而达到准确的计算结果。

三、总体设计

根据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元的

5

2

超过500元至2,000元的部分

10

3

超过2,000元至5,000元的部分

15

4

超过5,000元至20,000元的部分

20

5

超过20,000元部分

25

六、功能模块

系统的模块主要是按照功能进行划分的,个人所得税系统包括计算个人所得税模块、查询免征起征点和税率模块、修改税率模块及修改免征基数模块。

这四大模块完成了该项目主要功能。

结构如下图所示。

七、代码实现及运行情况:

1.用javacApplication运行程序的命令行显示如下界面:

 

2、登录后进入选择功能界面:

3、进行选择功能:

选择功能1,计算个人所得税。

输入工资,计算出结果

2.进行功能选择:

选择功能2,查询免征基数和税率,查询结果如下图所示:

4、进行功能选择:

选择功能3,修改免征基数,运行结果如下图:

5、进行功能选择:

选择功能4,修改税率。

运行结果如下:

 

八、代码清单:

importjava.awt.Choice;

importjava.awt.Dialog;

importjava.awt.FlowLayout;

importjava.awt.Frame;

importjava.awt.GridLayout;

importjava.awt.Label;

importjava.awt.List;

importjava.awt.ScrollPane;

importjava.awt.TextField;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

importjava.lang.String;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JTextField;

importjava.awt.BorderLayout;

importjava.awt.Frame;

importjava.awt.Label;

importjava.awt.Panel;

importjava.awt.TextField;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowAdapter;

importjava.awt.event.WindowEvent;

 

//用户登录界面

publicclassGRSextendsFrameimplementsActionListener{

privatestaticfinallongserialVersionUID=6347084101268070174L;

staticdoublebase=1600;//免征基数

staticdouble[]taxRate={0.05,0.10,0.15,0.20,0.25};//各级税率

publicstaticvoidmain(String[]args){

Frameframe=newFrame();

newGRS(frame);

}

LabelLabel1=newLabel("用户名:

");

TextFieldtextfieldialog=newTextField("密码:

123");

LabelLabel2=newLabel("用户密码:

");

TextFieldtextfield2=newTextField(10);

LabelLabel5=newLabel("用户地区:

");

Choicechoice=newChoice();

LabelLabel6=newLabel("用户类别:

");

Listlist=newList(2,false);

JButtonbutton1=newJButton("确定");

JButtonbutton2=newJButton("取消");

Dialogdialog=newDialog(this,"提示信息",false);

ScrollPanesp=newScrollPane();

publicGRS(Frameframe){

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(newGridLayout(5,2,5,20));

setBounds(430,430,300,200);

setResizable(false);

setVisible(true);

addWindowListener(newwindowclose());

}

publicclasswindowcloseextendsWindowAdapter{

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

}

 

//主菜单

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand().equals("确定")){

if(textfield2.getText().trim().equals("123")){

addWindowListener(newwindowclose());

JFramef=newJFrame("主菜单");

 

JButtonbutton5=newJButton("1:

计算个人所得税");

JButtonbutton6=newJButton("2:

查询免征基数和税率");

JButtonbutton7=newJButton("3:

修改免征基数");

JButtonbutton8=newJButton("4:

修改税率");

f.add(button5);

f.add(button6);

f.add(button7);

f.add(button8);

button5.addActionListener(newButAL());

button6.addActionListener(newChaXun());

button7.addActionListener(newXiuGai1());

button8.addActionListener(newXiuGai2());

f.setLayout(newGridLayout(2,2,5,20));

f.setBounds(385,420,400,220);

f.setResizable(false);

f.setVisible(true);

}

else{

dialog.setLayout(newFlowLayout(FlowLayout.CENTER));

Labeltf=newLabel("对不起,密码错误,请重试");

dialog.add(tf);

dialog.setBounds(455,430,250,60);

dialog.setResizable(false);

dialog.setVisible(true);

dialog.addWindowListener(newwindowclose());

}

}else

System.exit(0);

}

 

//计算个人所得税

privateclassButALimplementsActionListener{

doubleincome=-1;//个人收入

doublerevenue=-1;//个人所得税

JTextFieldtestField;

JTextFieldresultField;

GRSr;

publicvoidactionPerformed(ActionEventevent){

JFramef=newJFrame("个人所得税的计算");

JLabeljl=newJLabel("请输入你的工资:

");

JLabelresult=newJLabel("计算的结果:

");

testField=newJTextField(5);

resultField=newJTextField(5);

JButtoncalculate=newJButton("计算");

calculate.addActionListener(newCalculate());

f.add(jl);

f.add(testField);

f.add(calculate);

f.add(result);

f.add(resultField);

f.setLayout(newGridLayout(2,3,3,20));

f.setBounds(380,500,400,100);

f.setResizable(false);

f.setVisible(true);

}

privateclassCalculateimplementsActionListener{

@Override

publicvoidactionPerformed(ActionEvente){

Strings1=testField.getText().trim();

income=Double.valueOf(s1);

doubletaxible=income-r.base;

if(taxible>20000)

revenue=(taxible-20000)*r.taxRate[4]+15000

*r.taxRate[3]+3000*r.taxRate[2]+1500

*r.taxRate[1]+500*r.taxRate[0];

elseif(taxible>5000)

revenue=(taxible-5000)*r.taxRate[3]+3000*r.taxRate[2]

+1500*r.taxRate[1]+500*r.taxRate[0];

elseif(taxible>2000)

revenue=(taxible-2000)*r.taxRate[2]+1500*r.taxRate[1]

+500*r.taxRate[0];

elseif(taxible>500)

revenue=(taxible-500)*r.taxRate[1]+500*r.taxRate[0];

elseif(taxible>0)

revenue=taxible*r.taxRate[0];

elseif(taxible<=0)

revenue=0;

Strings2=String.valueOf(revenue);

resultField.setText(s2);

}

}

}

//查询免征基数和税率

privateclassChaXunimplementsActionListener{

GRSr;

@Override

publicvoidactionPerformed(ActionEvente){

finalJFramef=newJFrame("查询");//窗体1

JTextFieldf1=newJTextField();

JTextFieldf2=newJTextField();

JTextFieldf3=newJTextField();

JTextFieldf4=newJTextField();

JTextFieldf5=newJTextField();

JTextFieldf6=newJTextField();

f.add(f1);

f1.setText("免征基数为:

"+String.valueOf(r.base));//输入免征基数

f.setLayout(newGridLayout(6,1,3,5));

f.add(f2);

f.add(f3);

f.add(f4);

f.add(f5);

f.add(f6);

f2.setText("一级税率为:

"+r.taxRate[0]);

f3.setText("二级税率为:

"+r.taxRate[1]);

f4.setText("三级税率为:

"+r.taxRate[2]);

f5.setText("四级税率为:

"+r.taxRate[3]);

f6.setText("五级税率为:

"+r.taxRate[4]);

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

f.setVisible(false);

}

});

f.setBounds(385,420,400,200);

f.setResizable(false);

f.setVisible(true);

}

 

}

//修改免征基数

privateclassXiuGai1implementsActionListener{

GRSr;

TextFieldtf=newTextField(10);

Framef=newFrame("修改免征基数");

@Override

publicvoidactionPerformed(ActionEvente){

f.add(newLabel("现在的免征基数为:

"+r.base),BorderLayout.NORTH);

f.add(newLabel("请输入新的免征基数:

"),BorderLayout.CENTER);

f.add(tf,BorderLayout.EAST);

tf.addActionListener(newTextFieldListener());

f.addWindowListener(newWindowAdapter(){

@Override

publicvoidwindowClosing(WindowEvente){

f.setVisible(false);

}

});

f.setBounds(425,460,300,120);

f.setResizable(false);

f.setVisible(true);

}

privateclassTextFieldListenerimplementsActionListener{

@Override

publicvoidactionPerformed(ActionEvente){

Strings=tf.getText().trim();

r.base=Double.valueOf(s);

tf.setText("修改成功!

");

}

}

}

//修改税率

privateclassXiuGai2implementsActionListener{

intrateLevel=0;//客户要修改的税率级别

doublenewTaxRate=0;//修改后的税率

GRSr;

Framef=null;

TextFieldtf1=null;

TextFieldtf2=null;

@Override

publicvoidactionPerformed(ActionEvente){

f=newFrame("修改税率");//创建窗体

tf1=newTextField(6);

tf2=newTextField(6);

Panelp1=newPanel();

Panelp2=newPanel();

JButtonok1=newJButton("确定");

ok1.addActionListener(newTF1Listener());

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2