JAVA計算個人所得稅設(shè)計_第1頁
JAVA計算個人所得稅設(shè)計_第2頁
JAVA計算個人所得稅設(shè)計_第3頁
JAVA計算個人所得稅設(shè)計_第4頁
JAVA計算個人所得稅設(shè)計_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

/《JAVA語言程序設(shè)計》課程設(shè)計——計算個人所得稅設(shè)計系別:計算機系專業(yè):計算機科學(xué)和技術(shù)年級:07計算機本科(2)班姓名:鐘俊杰指導(dǎo)老師:齊勇軍2010年6月28日—2010年6書目《JAVA語言程序設(shè)計》課程設(shè)計 -1-一、摘要 -2-二、需求分析 -3-2.1背景介紹 -3-2.2功能需求 -4-三、總體設(shè)計 -4-四、具體設(shè)計 -4-五:代碼實現(xiàn)及運行狀況: -5-六、代碼清單: -7-七、小結(jié) -16-八、參考文獻(xiàn) -17-一、摘要本設(shè)計是一個基于吩咐行界面的計算個人所得稅應(yīng)用程序,依據(jù)用戶輸入的當(dāng)月工資薪金總額計算應(yīng)繳納的個人所得稅額。為適應(yīng)將來個人所得稅法的可能改變,該程序支持對個人所得稅起征點進行調(diào)整的功能,并且個人所得稅各級稅率也允許修改。利用簡潔的菜單方式讓用戶選擇所需的功能。設(shè)計中主要用到JFrame、Frame、JTextField、TextField、Button這幾個類。關(guān)鍵字:計算個人所得稅、JFrame、Frame、JTextField、TextField、Button二、需求分析2.1背景介紹個人所得稅,是調(diào)整征稅機關(guān)和自然人之間在個人所得稅的征納和管理過程中所發(fā)生的社會關(guān)系的法律規(guī)范的總稱。凡在中國境內(nèi)有居處,或者無居處而在中國境內(nèi)居住滿一年的個人,從中國境內(nèi)和境外取得所得的,以及在中國境內(nèi)無居處又不居住或者無居處而在境內(nèi)居住不滿一年的個人,從中國境內(nèi)取得所得的,均為個人所得稅的納稅人。隨著社會和經(jīng)濟的發(fā)展,計算個人所得稅已成為人們?nèi)粘I钪斜夭恍猩俚闹匾獌?nèi)容,因此一個計算所得稅系統(tǒng)是人們生活中一個重要的計算工具。依據(jù)此背景,我們開發(fā)了一個簡潔而且簡潔操作的個人所得稅的系統(tǒng),希望能夠給人們帶來便利。2.2功能需求本系統(tǒng)是一個計算個人所得稅的應(yīng)用程序,用戶可以輸入的當(dāng)月工資薪金總額,從而系統(tǒng)會自動計算應(yīng)繳納的個人所得稅額。同時,我們依據(jù)實際狀況,還增加了個人所得稅的修改等功能,通過簡潔的菜單欄上的操作,用戶可以輕松地依據(jù)實際狀況作出稅率等數(shù)據(jù)的調(diào)整,從而達(dá)到精確的計算結(jié)果。三、總體設(shè)計依據(jù)Java的特點,我們利用類的設(shè)計,簡潔實現(xiàn)查詢當(dāng)前免征基數(shù)及稅率、更改免征基數(shù)、更改稅率、個人所得稅的計算的功能。便利用戶運用及查詢。在類的設(shè)計過程中,主要用到了以下幾個類:GRS:、Windowclose:、Calculate:、XiuGai1 、XiuGai2:四、具體設(shè)計以下是每個類的設(shè)計:GRS:主體類:此類是用于顯示主窗體中,全部類都是此類的內(nèi)部類。Windowclose:關(guān)閉窗體類,這個類的作用是當(dāng)要關(guān)閉一個窗體調(diào)用這類Calculate:用于計算稅,這個類主要用于完成稅的計算,這個類繼承了ActionListener接口,用于監(jiān)聽calculate按鈕產(chǎn)生的事務(wù)。XiuGai1:修改免征基數(shù) XiuGai2:修改稅率五:代碼實現(xiàn)及運行狀況:用javacApplication運行程序的吩咐行顯示如下界面:

2、登錄后進入選擇功能界面:

3、進行選擇功能:選擇功能1,計算個人所得稅。輸入工資,計算出結(jié)果進行功能選擇:選擇功能2,查詢免征基數(shù)和稅率,查詢結(jié)果如下圖所示:4、進行功能選擇:選擇功能3,修改免征基數(shù),運行結(jié)果如下圖:5、進行功能選擇:選擇功能4,修改稅率。運行結(jié)果如下:六、代碼清單: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{ staticdoublebase=1600;//免征基數(shù) 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("用戶地區(qū):"); 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:查詢免征基數(shù)和稅率"); JButtonbutton7=newJButton("3:修改免征基數(shù)"); 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("計算的結(jié)果:"); 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); } } } //查詢免征基數(shù)和稅率 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("免征基數(shù)為:"+String.valueOf(r.base));//輸入免征基數(shù) 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); }}//修改免征基數(shù)privateclassXiuGai1implementsActionListener{ GRSr; TextFieldtf=newTextField(10); Framef=newFrame("修改免征基數(shù)"); @Override publicvoidactionPerformed(ActionEvente){ f.add(newLabel("現(xiàn)在的免征基數(shù)為:"+r.base),BorderLayout.NORTH); f.add(newLabel("請輸入新的免征基數(shù):"),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("修改稅率");//創(chuàng)建窗體 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()); f.addWindowListener(newWindowAdapter(){ @Override publicvoidwindowClosing(WindowEvente){ f.setVisible(false); } }); p2.add(newLabel("請輸入你確定修改后的稅率:"),BorderLayout.WEST); p2.add(tf2,BorderLayout.EAST); p2.add(ok2); f.add(p2,BorderLayout.SOUTH);f.setLayout(newGridLayout(2,3,3,15)); f.setBounds(425,460,550,120); f.pack(); f.setVisible(true); } privateclassTF1ListenerimplementsActionListener{ @Override public

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論