基于Java实现的用于计算个人所得税的程序
資源下載地址:https://download.csdn.net/download/sheziqiong/86768628
資源下載地址:https://download.csdn.net/download/sheziqiong/86768628
一、功能
-
基于命令行界面的計(jì)算個(gè)人所得稅程序,根據(jù)用戶輸入的當(dāng)月工資薪金總額計(jì)算應(yīng)繳納的個(gè)人所得稅額
-
收入總額減去免征基數(shù)后剩余部分稱為應(yīng)納稅所得額,根據(jù)應(yīng)納稅所得額按某種規(guī)定計(jì)算應(yīng)繳納的個(gè)人所得稅
-
默認(rèn)起征點(diǎn)為 1600 元
-
默認(rèn)計(jì)稅規(guī)則如下:
級(jí)別應(yīng)納稅所得額稅率 % 1 不超過 500 元的 5 2 超過 500 元至 2,000 元的部分 10 3 超過 2,000 元至 5,000 元的部分 15 4 超過 5,000 元至 20,000 元的部分 20 5 超過 20,000 元部分 25 -
該程序應(yīng)支持對(duì)個(gè)人所得稅起征點(diǎn)進(jìn)行調(diào)整
-
個(gè)人所得稅各級(jí)稅率也允許修改
例如,張三某月工資薪金總收入為 4,300 元,減去免征基數(shù) 1,600 元,則應(yīng)納稅所得額為 2,700 元。
應(yīng)納稅所得額中,超過 2,000 部分為 2,700 – 2,000 = 700 元,按 15% 稅率計(jì)算應(yīng)納稅 105 元;而 500 元 至 2,000 元的部分為 1,500 元,按 10% 稅率計(jì)算應(yīng)納稅 150 元;不超過 500 元的部分為 500 元,按 5% 稅率計(jì)算應(yīng)納稅 25 元。
所以,該月張三應(yīng)繳納的個(gè)人所得稅金額為 105 + 150 + 25 = 280 元。
二、文件結(jié)構(gòu)
- src 文件夾中為代碼源程序
- run.sh 為編譯運(yùn)行的批處理文件,終端運(yùn)行 ./run.sh 即可運(yùn)行程序
- out 文件夾中為編譯后的 .class 文件
- JavaDoc 文件夾中為生成的 JavaDoc 文檔,用瀏覽器打開其中的 index.html 即可
三、設(shè)計(jì)思路
1. UML 類圖
2. 結(jié)構(gòu)描述
我設(shè)計(jì)了三個(gè)類,其中:
- 類 Presentation 用于顯示界面以及和用戶交互 IO
- 類 TaxTable 根據(jù)計(jì)稅規(guī)則維護(hù)一個(gè)表,包括創(chuàng)建和修改,并包括規(guī)則某些金額的獲取函數(shù)供其他類調(diào)用
- 類 TaxCalculator 用于計(jì)算所得稅的具體金額
上面只為簡(jiǎn)述,各個(gè)類的詳細(xì)信息、各變量含義、各函數(shù)含義與參數(shù)意義詳見代碼注釋或 JavaDoc 文檔
四、編譯與運(yùn)行
1. JDK 版本:Java8
2. 編譯與運(yùn)行
在主目錄下(即 src 文件夾的父目錄)運(yùn)行:
javac -sourcepath src -d out src/*.java cd out java personaltax.Presentation此外,我已將這三條命令寫到了批處理文件 run.sh 中,也可以直接運(yùn)行:
./run.sh五、運(yùn)行截圖
運(yùn)行后的開始界面,會(huì)顯示當(dāng)前各種信息:
指令“1”,計(jì)算所得稅金額
這個(gè)測(cè)例即為要求文檔中的例子,工資 4300 元所得稅 280 元。
3. 指令“2”,改變起征點(diǎn)金額
六、錯(cuò)誤數(shù)據(jù)處理
除了基礎(chǔ)功能外,如果輸入了一些“不合法”的數(shù)據(jù),程序也會(huì)提示并要求重新輸入:
-
輸入的指令并非 1、2、3 或 4:
-
輸入的起征點(diǎn)金額不大于 0:
-
輸入的稅率不在 0-1 之間:
-
輸入的稅率不在 0-1 之間:
資源下載地址:https://download.csdn.net/download/sheziqiong/86768628
資源下載地址:https://download.csdn.net/download/sheziqiong/86768628
總結(jié)
以上是生活随笔為你收集整理的基于Java实现的用于计算个人所得税的程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两车相撞的力怎么计算_两车正面碰撞事故车
- 下一篇: Java:Lterator迭代器