JAVA计算个人所得税设计Word格式.docx
《JAVA计算个人所得税设计Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA计算个人所得税设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
GRS:
主体类:
此类是用于显示主窗体中,所有类都是此类的内部类.
Windowclose:
关闭窗体类,这个类的作用是当要关闭一个窗体调用这类
Calculate:
用于计算税,这个类主要用于完成税的计算,这个类继承了ActionListener接口,用于监听calculate按钮产生的事件。
XiuGai1:
修改免征基数
XiuGai2:
修改税率
五:
代码实现及运行情况:
1.用javacApplication运行程序的命令行显示如下界面:
2、登录后进入选择功能界面:
3、进行选择功能:
选择功能1,计算个人所得税。
输入工资,计算出结果
2.进行功能选择:
选择功能2,查询免征基数和税率,查询结果如下图所示:
4、进行功能选择:
选择功能3,修改免征基数,运行结果如下图:
5、进行功能选择:
选择功能4,修改税率。
运行结果如下:
六、代码清单:
importjava.awt。
Choice;
Dialog;
importjava。
awt。
FlowLayout;
awt.Frame;
GridLayout;
awt.Label;
List;
ScrollPane;
awt.TextField;
awt.event。
ActionEvent;
event.ActionListener;
event。
WindowAdapter;
WindowEvent;
lang.String;
importjavax.swing。
JButton;
importjavax。
swing.JFrame;
swing。
JLabel;
swing.JTextField;
BorderLayout;
Frame;
Label;
Panel;
TextField;
importjava.awt.event.ActionEvent;
importjava.awt.event。
ActionListener;
event.WindowAdapter;
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("
上海"
北京"
add(choice);
add(Label6);
list。
add("
普通用户"
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);
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);
setVisible(true);
}
else{
dialog。
setLayout(newFlowLayout(FlowLayout。
CENTER));
Labeltf=newLabel(”对不起,密码错误,请重试"
dialog.add(tf);
setBounds(455,430,250,60);
setResizable(false);
dialog.setVisible(true);
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);
add(testField);
f.add(calculate);
add(result);
f.add(resultField);
f.setLayout(newGridLayout(2,3,3,20));
setBounds(380,500,400,100);
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
taxRate[1]+500*r。
taxRate[0];
elseif(taxible>
5000)
revenue=(taxible-5000)*r.taxRate[3]+3000*r。
taxRate[2]
+1500*r。
taxRate[0];
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。
elseif(taxible〉0)
revenue=taxible*r。
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();
add(f1);
f1.setText("
免征基数为:
”+String。
valueOf(r。
base));
//输入免征基数
f.setLayout(newGridLayout(6,1,3,5));
f.add(f2);
f。
add(f3);
add(f4);
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){
setVisible(false);
});
setBounds(385,420,400,200);
}
//修改免征基数
privateclassXiuGai1implementsActionListener{
GRSr;
TextFieldtf=newTextField(10);
Framef=newFrame("
修改免征基数"
add(newLabel("
现在的免征基数为:
base),BorderLayout.NORTH);
add(newLabel(”请输入新的免征基数:
"
),BorderLayout.CENTER);
add(tf,BorderLayout.EAST);
tf.addActionListener(newTextFieldListener());
f.addWindowListener(newWindowAdapter(){
});
f.setBounds(425,460,300,120);
f。
privateclassTextFieldListenerimplementsActionListener{
@Override
publicvoidactionPerformed(ActionEvente){
Strings=tf.getText().trim();
r。
base=Double.valueOf(s);
tf。
修改成功!
”);
}
//修改税率
privateclassXiuGai2implementsActionListener{
intrateLevel=0;
//客户要修改的税率级别
doublenewTaxRate=0;
//修改后的税率
Framef=null;
TextFieldtf1=null;
TextFieldtf2=null;
f=newFrame(”修改税率”);
//创建窗体
tf1=newTextField(6);
tf2=newTextField(6);
Panelp1=newPanel();
Panelp2=newPanel();
JButtonok1=newJButton("
ok1。
addActionListener(newTF1Listener());
p1.add(newLabel(”请输入要修改的税率的级别:
”),BorderLayout。
WEST);
p1.add(tf1,BorderLayout.EAST);
p1.add(ok1,BorderLayout.EAST);
f.add(p1,BorderLayout.NORTH);
JButtonok2=newJButton(”确定"
ok2.addActionListener(newTF2Listener());
addWindowListener(newWindowAdapter(){
p2。
请输入你确定修改后的税率:
),BorderLayout.WEST);
add(tf2,BorderLayout.EAST);
p2.add(ok2);
f.add(p2,BorderLayout。
SOUTH);
f.setLayout(newGridLayout(2,3,3,15));
f.setBounds(425,460