




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JAVA語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì) 計(jì)算個(gè)人所得稅設(shè)計(jì)系別:計(jì)算機(jī)系專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)年級(jí):07計(jì)算機(jī)本科(2)班姓名:鐘俊杰指導(dǎo)教師:齊勇軍2010年6月28日2010年6月30日目錄JAVA語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)- 1 -一、摘要- 2 -二、需求分析- 3 -21背景介紹- 3 -22功能需求- 4 -三、總體設(shè)計(jì)- 4 -四、詳細(xì)設(shè)計(jì)- 4 -五:代碼實(shí)現(xiàn)及運(yùn)行情況:- 5 -六、代碼清單:- 7 -七、小結(jié)- 16 -八、參考文獻(xiàn)- 17 -一、摘要 本設(shè)計(jì)是一個(gè)基于命令行界面的計(jì)算個(gè)人所得稅應(yīng)用程序,根據(jù)用戶(hù)輸入的當(dāng)月工資薪金總額計(jì)算應(yīng)繳納的個(gè)人所得稅額。為適應(yīng)未來(lái)個(gè)人所得稅法的可能變
2、化,該程序支持對(duì)個(gè)人所得稅起征點(diǎn)進(jìn)行調(diào)整的功能,并且個(gè)人所得稅各級(jí)稅率也允許修改。利用簡(jiǎn)單的菜單方式讓用戶(hù)選擇所需的功能。設(shè)計(jì)中主要用到JFrame 、Frame、JTextField、TextField、Button這幾個(gè)類(lèi)。關(guān)鍵字:計(jì)算個(gè)人所得稅、JFrame 、Frame、JTextField、TextField、Button二、需求分析21背景介紹 個(gè)人所得稅,是調(diào)整征稅機(jī)關(guān)與自然人之間在個(gè)人所得稅的征納與管理過(guò)程中所發(fā)生的社會(huì)關(guān)系的法律規(guī)范的總稱(chēng)。凡在中國(guó)境內(nèi)有住所,或者無(wú)住所而在中國(guó)境內(nèi)居住滿(mǎn)一年的個(gè)人,從中國(guó)境內(nèi)和境外取得所得的,以及在中國(guó)境內(nèi)無(wú)住所又不居住或者無(wú)住所而在境內(nèi)居住
3、不滿(mǎn)一年的個(gè)人,從中國(guó)境內(nèi)取得所得的,均為個(gè)人所得稅的納稅人。隨著社會(huì)和經(jīng)濟(jì)的發(fā)展,計(jì)算個(gè)人所得稅已成為人們?nèi)粘I钪斜夭豢缮俚闹匾獌?nèi)容,因此一個(gè)計(jì)算所得稅系統(tǒng)是人們生活中一個(gè)重要的計(jì)算工具。根據(jù)此背景,我們開(kāi)發(fā)了一個(gè)簡(jiǎn)單而且容易操作的個(gè)人所得稅的系統(tǒng),希望能夠給人們帶來(lái)方便。22功能需求 本系統(tǒng)是一個(gè)計(jì)算個(gè)人所得稅的應(yīng)用程序,用戶(hù)可以輸入的當(dāng)月工資薪金總額,從而系統(tǒng)會(huì)自動(dòng)計(jì)算應(yīng)繳納的個(gè)人所得稅額。同時(shí),我們根據(jù)實(shí)際情況,還增加了個(gè)人所得稅的修改等功能,通過(guò)簡(jiǎn)潔的菜單欄上的操作,用戶(hù)可以輕松地根據(jù)實(shí)際情況作出稅率等數(shù)據(jù)的調(diào)整,從而達(dá)到準(zhǔn)確的計(jì)算結(jié)果。三、總體設(shè)計(jì) 根據(jù)Java的特點(diǎn),我們利用類(lèi)
4、的設(shè)計(jì),簡(jiǎn)單實(shí)現(xiàn)查詢(xún)當(dāng)前免征基數(shù)及稅率、更改免征基數(shù)、更改稅率、個(gè)人所得稅的計(jì)算的功能。方便用戶(hù)使用及查詢(xún)。在類(lèi)的設(shè)計(jì)過(guò)程中, 主要用到了以下幾個(gè)類(lèi):GRS:、Windowclose: 、Calculate: 、XiuGai1、XiuGai2: 四、詳細(xì)設(shè)計(jì)以下是每個(gè)類(lèi)的設(shè)計(jì):GRS:主體類(lèi):此類(lèi)是用于顯示主窗體中,所有類(lèi)都是此類(lèi)的內(nèi)部類(lèi)。Windowclose: 關(guān)閉窗體類(lèi),這個(gè)類(lèi)的作用是當(dāng)要關(guān)閉一個(gè)窗體調(diào)用這類(lèi)Calculate:用于計(jì)算稅,這個(gè)類(lèi)主要用于完成稅的計(jì)算,這個(gè)類(lèi)繼承了ActionListener 接口,用于監(jiān)聽(tīng)calculate按鈕產(chǎn)生的事件。XiuGai1: 修改免征基數(shù)X
5、iuGai2: 修改稅率五:代碼實(shí)現(xiàn)及運(yùn)行情況:1. 用javac Application運(yùn)行程序的命令行顯示如下界面: 2、登錄后進(jìn)入選擇功能界面:3、進(jìn)行選擇功能:選擇功能1,計(jì)算個(gè)人所得稅。輸入工資,計(jì)算出結(jié)果2. 進(jìn)行功能選擇:選擇功能2,查詢(xún)免征基數(shù)和稅率,查詢(xún)結(jié)果如下圖所示: 4、進(jìn)行功能選擇:選擇功能3,修改免征基數(shù),運(yùn)行結(jié)果如下圖:5、進(jìn)行功能選擇:選擇功能4,修改稅率。運(yùn)行結(jié)果如下:六、代碼清單:import java.awt.Choice;import java.awt.Dialog;import java.awt.FlowLayout;import java.awt.Fr
6、ame;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 j
7、avax.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
8、java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;/用戶(hù)登錄界面public class GRS extends Frame implements ActionListener static double base=1600; /免征基數(shù)static double taxRate=0.05, 0.10, 0.15, 0.20, 0.25;/各級(jí)稅率public static void main(String args) Frame frame = new Frame();new GRS(frame);Label Lab
9、el1 = new Label("用戶(hù)名:");TextField textfieldialog = new TextField("密碼:123");Label Label2 = new Label("用戶(hù)密碼:");TextField textfield2 = new TextField(10);Label Label5 = new Label("用戶(hù)地區(qū):");Choice choice = new Choice();Label Label6 = new Label("用戶(hù)類(lèi)別:");Lis
10、t 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("個(gè)人所得稅查詢(xún)");add(Label1);add(textfieldialog);add(La
11、bel2);textfield2.setEchoChar('*');add(textfield2);add(Label5);choice.addItem("廣東");choice.addItem("上海");choice.addItem("北京");add(choice);add(Label6);list.add("普通用戶(hù)");list.add("管理員");sp.add(list);add(sp);add(button1);button1.addActionListener(
12、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);/主菜單p
13、ublic 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: 計(jì)算個(gè)人所得稅");JButton button6 = new JBu
14、tton("2: 查詢(xún)免征基數(shù)和稅率");JButton button7 = new JButton("3: 修改免征基數(shù)");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.addActionListene
15、r(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("對(duì)不起,密碼錯(cuò)誤,請(qǐng)重試");dialog.add(tf);dialog.setBo
16、unds(455, 430, 250, 60);dialog.setResizable(false);dialog.setVisible(true);dialog.addWindowListener(new windowclose(); elseSystem.exit(0);/計(jì)算個(gè)人所得稅private class ButAL implements ActionListener double income = -1; /個(gè)人收入double revenue = -1; /個(gè)人所得稅JTextField testField;JTextField resultField;GRS r;public
17、 void actionPerformed(ActionEvent event) JFrame f = new JFrame("個(gè)人所得稅的計(jì)算");JLabel jl = new JLabel("請(qǐng)輸入你的工資:");JLabel result = new JLabel("計(jì)算的結(jié)果:"); testField = new JTextField(5);resultField = new JTextField(5);JButton calculate = new JButton("計(jì)算");calculate.ad
18、dActionListener(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 actionPe
19、rformed(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
20、= (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 >
21、 0)revenue = taxible * r.taxRate0;else if (taxible <= 0)revenue = 0;String s2 = String.valueOf(revenue);resultField.setText(s2);/查詢(xún)免征基數(shù)和稅率 private class ChaXun implements ActionListener GRS r; Overridepublic void actionPerformed(ActionEvent e) final JFrame f = new JFrame("查詢(xún)"); /窗體1JTex
22、tField f1 = new JTextField();JTextField f2 = new JTextField();JTextField f3 = new JTextField();JTextField f4 = new JTextField();JTextField f5 = new JTextField();JTextField f6 = new JTextField();f.add(f1);f1.setText(" 免征基數(shù)為:" + String.valueOf(r.base); /輸入免征基數(shù) f.setLayout(new GridLayout(6, 1
23、, 3, 5);f.add(f2); f.add(f3);f.add(f4);f.add(f5);f.add(f6);f2.setText(" 一 級(jí)稅率為:" + r.taxRate0); f3.setText(" 二 級(jí)稅率為:" + r.taxRate1);f4.setText(" 三 級(jí)稅率為:" + r.taxRate2);f5.setText(" 四 級(jí)稅率為:" + r.taxRate3);f6.setText(" 五 級(jí)稅率為:" + r.taxRate4);f.addWindo
24、wListener(new WindowAdapter() Overridepublic void windowClosing(WindowEvent e) f.setVisible(false););f.setBounds(385, 420, 400, 200);f.setResizable(false);f.setVisible(true); /修改免征基數(shù) private class XiuGai1 implements ActionListenerGRS r;TextField tf = new TextField(10); Frame f = new Frame("修改免征
25、基數(shù)");Overridepublic void actionPerformed(ActionEvent e) f.add(new Label("現(xiàn)在的免征基數(shù)為:" + r.base), BorderLayout.NORTH);f.add(new Label("請(qǐng)輸入新的免征基數(shù): "), BorderLayout.CENTER);f.add(tf, BorderLayout.EAST);tf.addActionListener(new TextFieldListener();f.addWindowListener(new WindowAda
26、pter() Overridepublic void windowClosing(WindowEvent e) f.setVisible(false););f.setBounds(425, 460, 300, 120);f.setResizable(false); f.setVisible(true); private class TextFieldListener implements ActionListener Overridepublic void actionPerformed(ActionEvent e) String s = tf.getText().trim();r.base
27、= Double.valueOf(s);tf.setText("修改成功!"); /修改稅率 private class XiuGai2 implements ActionListener int rateLevel = 0; /客戶(hù)要修改的稅率級(jí)別 double newTaxRate = 0; /修改后的稅率GRS r;Frame f = null;TextField tf1 = null;TextField tf2 = null;Overridepublic void actionPerformed(ActionEvent e) f = new Frame("
28、修改稅率"); /創(chuàng)建窗體tf1 = new TextField(6);tf2 = new TextField(6);Panel p1 = new Panel();Panel p2 = new Panel();JButton ok1=new JButton("確定"); ok1.addActionListener(new TF1Listener(); p1.add(new Label("請(qǐng)輸入要修改的稅率的級(jí)別:"), BorderLayout.WEST);p1.add(tf1,BorderLayout.EAST );p1.add(ok1,Bo
29、rderLayout.EAST);f.add(p1, BorderLayout.NORTH);JButton ok2=new JButton("確定");ok2.addActionListener(new TF2Listener();f.addWindowListener(new WindowAdapter() Overridepublic void windowClosing(WindowEvent e) f.setVisible(false););p2.add(new Label(" 請(qǐng)輸入你確定修改后的稅率:"), BorderLayout.WES
30、T);p2.add(tf2, BorderLayout.EAST);p2.add(ok2);f.add(p2, BorderLayout.SOUTH); f.setLayout(new GridLayout(2, 3, 3, 15);f.setBounds(425, 460, 550, 120);f.pack();f.setVisible(true);private class TF1Listener implements ActionListener Overridepublic void actionPerformed(ActionEvent e) String s1 = tf1.getText().trim();rateLevel = Integer.valueOf(s1);if(rateLevel&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 留守兒童家庭委托撫養(yǎng)責(zé)任協(xié)議書(shū)
- 繼子女撫養(yǎng)費(fèi)支付及關(guān)系解除法律協(xié)議
- 兒童撫養(yǎng)權(quán)變更與探視時(shí)間約定合同
- 賽事直播版權(quán)分銷(xiāo)與賽事賽事周邊產(chǎn)品銷(xiāo)售合同
- 新能源汽車(chē)產(chǎn)業(yè)私募股權(quán)投資基金有限合伙人全面合作協(xié)議
- 工業(yè)模具恒溫倉(cāng)儲(chǔ)租賃與品牌合作合同
- 智能建筑雨水資源回收租賃服務(wù)協(xié)議書(shū)
- 信用證保兌金融服務(wù)代理合同
- 抖音平臺(tái)AI選品與品牌合作合同
- 電動(dòng)汽車(chē)充電站建設(shè)與能源優(yōu)化配置合作協(xié)議
- 造船電焊工合同協(xié)議
- 成人舞蹈合同協(xié)議書(shū)
- 2025超市承包經(jīng)營(yíng)合同
- 舞廳合作協(xié)議書(shū)合同
- 第23課《“蛟龍”探海》課件統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 工程師施工現(xiàn)場(chǎng)安全管理實(shí)務(wù)試題及答案
- 大氣遙感考試題及答案
- 2024年山東省臨沭縣事業(yè)單位公開(kāi)招聘教師崗筆試題帶答案
- 初中地理澳大利亞(第2課時(shí))課件+-2024-2025學(xué)年地理人教版(2024)七年級(jí)下冊(cè)
- 自動(dòng)生成的文檔-2025040814-11
- (二模)濟(jì)寧市2025年4月高三高考模擬考試生物試卷(含答案)
評(píng)論
0/150
提交評(píng)論