JAVA计算个人所得税设计
个人所得税计算程序设计实验
个人所得税计算程序设计实验工程1503 李景旺2015308200819 10.2 实验目的用MATLAB 编程计算,输入个人税前收入,求其应交多少个人所得税。
实验结果实验结果分析税前收入高于3500的计算结果都是正确的,但是税前收入低于3500的结果出现了错误。
错误是由于设计程序时忘记考虑税前收入低于3500的情况。
程序x=input('请输入税前收入')x=x-3500;switch fix(x/500)case{0,1,2}y=x*0.03;case num2cell(3:8)y=1500*0.03+(x-1500)*0.1;case num2cell(9:17)y=1500*0.03+3000*0.1+(x-4500)*0.2;case num2cell(18:69)y=1500*0.03+3000*0.1+4500*0.2+(x-9000)*0.25;case num2cell(70:109)y=1500*0.03+3000*0.1+4500*0.2+26000*0.25+(x-35000)*0.3;case num2cell(110:160)y=1500*0.03+3000*0.1+4500*0.2+26000*0.25+20000*0.3+(x-55000)*0.35; otherwisey=1500*0.03+3000*0.1+4500*0.2+26000*0.25+20000*0.3+25000*0.35+(x-8000 0)*0.45;endy心得设计程序解决实际问题时应充分考虑每一种可能存在的情况,一定不能遗漏。
运行后发现结果出现问题应及时修改程序,不断完善。
房价与财富转移的文献概述汤浩、刘旦(撰文研究了商品房平均价格水平、城镇居民收入差距和基尼系数之间的长期关系,表明商品房价格水平的上涨扩大了城镇居民收入差距。
对其原因分析如下:住房金融市场在操作上“嫌贫爱富”的贷款机制是扩大财富差距的主要原因。
实验报告——计算个人所得税[001]
实验报告——计算个人所得税一.需求:根据实验的要求,本实验的主要功能需求如下:1.要求能根据既定的个人所得税起征点和税率表计算出应该缴纳的个人所得税。
2.要求能对个人所得税起征点进行调整。
3.要求个人所得税各级税率也允许修改。
4.要求提供命令行形式的菜单实现。
针对该程序的实际需要,个人觉得实际应用中还有可能增加税率级数或对每级的起讫值有所调整;当税率值调整时,为避免每次都要设置税率参数,可将参数持久化到文件中,因此增加了以下需求:5.要求能重新构造税率表,并用新的税率表进行个人所得税的计算。
6.可将当前税率表存储到文件中或从已经存在的文件中读取参数。
二.系统分析与实现鉴于这是一个小系统,本报告没有写出详细的用例图及流程分析,只给出简要的系统设计。
以下是每个类的设计:TaxItem:当对税率表进行调整时,每个税率表的级数并不是一样的,根据面向对象的思想,每一个税率项应该作为最小的类。
因此系统中定义了一个类,TaxItem,记录每一个税率项的信息,它包括三个域,分别为税率项起点、终点和税率,即taxStartPoint、taxEndPoint和taxRate,它们定义为私有成员,于是定义了相应的访问器。
税率表里包含若干个税率项,可以用一个ArrayList来代替它,这样省去了再定义一个代表税率表的类。
Constants在进行大型程序设计时,有必要定义一个Constants类用于存储常量,因此本系统中定义了一个这样的类,里边只含一个常量,MAX_INCOME,用于存储现实中只收入的上限。
TaxComputer计算税率是一个业务逻辑,有必要将它独立出来,单独作为一个模块,本程序定义了TaxComputer用于实现这个功能,里边只有一个函数,compute,该函数通过传给他的税率表,起征点和收入值计算个人所得税。
把这个类设计为实用类,所以函数是静态的,可以通过类名进行访问。
FileAccessor这个类专门实现对计税参数的读写,包括主要的四个函数,saveParas用于保存参数,loadParas 用于读取参数,getTaxList和getStartingPoint得到税率表起征点。
Java基础-个人所得税计算系统
《个人所得税计算系统》设计
一、需求说明
设计一个简易的个人所得税计算系统,通过输入个人应发工资计算出各个地区的三险(医疗保险、养老保险)一金(公积金)和个人所得税。
系统需要实现用户登录、退出、选择地区计算三险一金、个人所得税等功能,并且相关功能要实现循环使用。
相关数据如下图所示:
相关计算公式:
个人所得税 =(应发工资 - 三险一金 - 5000)* 税率–速算扣除数
税后工资 = 应发工资–个人所得税
实发工资 = 税后工资 - 三险一金
养老保险 = 应发工资 * 比例
医疗保险 = 应发工资 * 比例
失业保险 = 应发工资 * 比例
公积金 = 应发工资 * 比例
二、实现效果
2.1 用户登录
验证登录账号及密码,验证通过则进入系统,验证不通过则提示错误信息,并重新回到用户登录界面。
2.2 退出系统
选择退出系统则提示退出系统成功并回到系统登录界面。
2.3 计算个人所得税
成功登录系统后,选择城市,并输入应发工资计算出养老保险、医疗保险、失业保险、公积金、个人所得税、税后工资以及实发工资,并将相关数据打印出来,随后重新回到选择城市界面。
实验3-6计算个人所得税(10分)
实验3-6计算个⼈所得税(10分)假设个⼈所得税为:税率×(⼯资−1600)。
请编写程序计算应缴的所得税,其中税率定义为:当⼯资不超过1600时,税率为0;当⼯资在区间(1600, 2500]时,税率为5%;当⼯资在区间(2500, 3500]时,税率为10%;当⼯资在区间(3500, 4500]时,税率为15%;当⼯资超过4500时,税率为20%。
输⼊格式:输⼊在⼀⾏中给出⾮负⼯资。
输出格式:在⼀⾏输出个⼈所得税,精确到⼩数点后2位。
输⼊样例1:1600输出样例1:0.00输⼊样例2:1601输出样例2:0.05输⼊样例3:3000输出样例3:140.00输⼊样例4:4000输出样例4:360.00输⼊样例5:5000输出样例5:680.00代码:# include <stdio.h># include <stdlib.h>int main() {double salary,pay;scanf("%lf",&salary);if (salary <= 1600) pay = 0;else if (salary <= 2500) {pay = (salary - 1600) * 0.05;}else if (salary <= 3500) {pay = (salary - 1600) * 0.1;}else if (salary <= 4500) {pay = (salary - 1600) * 0.15;}else {pay = (salary - 1600) * 0.2;}printf("%.2lf",pay);return 0;}提交截图:解题思路:只是主⼈的任务(分段函数的应⽤~)罢了,其实这么设置蛮不合理的,我觉得应该是每个档按照该档的税率交,⽐如:我每⽉薪资4500元,那么我需要交的费⽤是:0 + (2500 - 1600) * 0.05 + (3500 - 2500) * 0.1 + (4500 - 3500) * 0.15 = 295.0。
个人所得税计算器的程序设计及代码示例
个人所得税计算器的程序设计及代码示例在现代社会中,个人所得税是居民必须缴纳的一项重要税种。
为了方便居民计算个人所得税,许多计算机程序员开发了个人所得税计算器。
本文将介绍个人所得税计算器的程序设计思路,并提供一个简单的代码示例。
一、程序设计思路个人所得税计算器的程序设计思路主要分为以下几个步骤:1. 用户输入收入金额:程序需要接受用户输入的收入金额,一般以年为单位。
可以通过输入框或命令行参数的方式获取用户输入。
2. 判断适用税率及速算扣除数:根据用户输入的收入金额,判断其适用的税率和速算扣除数。
个人所得税税率一般分为几个档次,不同档次的税率和速算扣除数不同。
3. 计算应缴纳的个人所得税:根据适用税率和速算扣除数,计算用户应缴纳的个人所得税金额。
4. 输出计算结果:将计算结果以适当的方式展示给用户,例如在界面上显示或通过命令行输出。
二、代码示例下面是一个使用Python编写的个人所得税计算器的简单代码示例:```pythonincome = float(input("请输入您的收入金额(年):")) if income <= 36000:tax_rate = 0.03deduction = 0elif income <= 144000:tax_rate = 0.1deduction = 2520elif income <= 300000:tax_rate = 0.2deduction = 16920elif income <= 420000:tax_rate = 0.25deduction = 31920elif income <= 660000:tax_rate = 0.3deduction = 52920elif income <= 960000:tax_rate = 0.35deduction = 85920else:tax_rate = 0.45deduction = 181920tax = (income * tax_rate) - deductionprint("您的个人所得税金额为:", tax)```以上代码首先通过`input`函数获取用户输入的收入金额,然后使用条件判断语句判断所适用的税率和速算扣除数,并计算出个人所得税金额。
java入门实验
【实验题1】安装JDK步骤如下。
1.打开JDK安装程序,按照提示进行JDK的安装。
2.环境变量的设定1.右击【我的电脑】,选择属性命令,在高级属性里,切换到高级选项卡,点击环境变量按钮。
2.在系统变量列表框里找到Path,双击Path,在变量已有的值后边填加“;d:\jdk\bin”,单击确定,进行保存。
3.打开命令提示框,输入java,提示设置成功【实验题2】使用eclipse开发简单的小程序---HellowWorld步骤如下。
1.新建项目:Text2.在项目里新建class类Hellowworld3.编写代码:public class HellowWord {public static void main(String[] args) {System.out.println("Hellow world!");}}4.调试运行【实验题3】从键盘输入小写字母,回显并输出其对应的大写字母。
步骤如下。
1.新建class类newZimu2.编写代码public class newZimu {public static void main(String[] args) {try{System.out.print("请输入一个小写字母:");int a = System.in.read();char b=(char)(a-32);System.out.print("大写字母是:"+b);}catch(Exception e){System.out.print(e);}}}3.调试运行【实验题4】计算个人所得税。
设某人月收入为x元(x由键盘输入),假设个人所得税征收方法如下:(1)当800<x≤1300时,应征税为(x-800)*5%;当1300<x≤2800时,应征税为(x-800)*10%;(2)当2800<x≤5800时,应征税为(x-800)*15%;当5800<x≤28000时,应征税为(x-800)*20%;(3)当28000<x时,应征税为(x-800)*30%步骤如下。
个人所得税计算器程序设计
2 5 5 , 2 5 5 , 0
s k =x 0. 3 - 2 7 5 5
注: 适用于 2 0 1 1 年9 月 1日起施行 C a p t i o n 的 ,工资 、薪金 所得 的个人所 得 税计算 L a b e l 3 A u t o s i z e
F o n  ̄ i z e
V i s i b l e C a p t i o n A u t o s i z e
L a b e 1 2 F o n t s i z e
. 请输人月工资额 : . T . 一 真
0 2
隐藏标签
C AS E x > 45 0 0 a n d x <= 9 0 0 0
x =t -3 5 0 0
DO CASE
说明
属性值
. 一 真
2 0
C AS E × <= 0 s k =O
C AS E x <:1 5 0 0
s k =x 0. 0 3
绿色背景
B a c k C o l o r
o . 2 5 5 , 0
C AS E x >l 5 0 0 a n d x <= 4 5 0 0 s k =x 0. 1 —1 0 5
设计完 的程序界面如图 1 所示 。
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
’…
…
…
…
…
一
实用第一 智慧密集
。 ,
q u i t
3 测试 程序
对已设计好 的程序进行测试是程序设计 中的重要环 节 .测 试内容包括 :程序的功能是否符合设计要求 、程序运行结果 是
JAVA计算个人所得税设计
JAVA计算个人所得税设计首先,我们需要定义个人所得税的法定税率。
根据我国税法规定,个人所得税有多个不同的税率档位,每个档位对应不同的收入区间和税率。
我们可以使用一个数组来存储这些税率,以便在程序中使用。
```javadouble[] taxRates = {0.03, 0.10, 0.20, 0.25, 0.30};```接下来,我们需要定义个人所得税的税基。
税基是用于计算个人所得税的的收入金额。
我们可以在程序中定义一个变量来表示税基。
```javadouble taxBase;```然后,我们需要获取用户输入的个人收入金额,并进行相关的计算。
可以使用Scanner类来实现用户输入功能。
```javaimport java.util.Scanner;public static void main(String[] args)// 创建Scanner对象Scanner scanner = new Scanner(System.in);//提示用户输入收入金额System.out.print("请输入个人收入金额:");//获取用户输入的收入金额//计算个人所得税//输出个人所得税金额System.out.println("个人所得税金额为:" + tax);// 关闭Scanner对象scanner.close(;}//定义个人所得税税率double[] taxRates = {0.03, 0.10, 0.20, 0.25, 0.30};//定义个人所得税税基double taxBase;//判断收入所属档位,并计算个人所得税} else}}```这是一个简单的个人所得税计算程序,仅考虑了税率档位和收入金额的计算。
在实际应用中,还需要考虑其他因素,如税前扣除和税后抵扣。
此外,税法规定每年有一定的免税额,超过免税额部分才需要缴纳个人所得税。
这些因素可以进一步扩展和完善该程序。
个人所得税税率表及Java计算程序
个人所得税税率表及Java计算程序个人所得税税率表及Java计算程序应税工资调整前税率调整后(征求意见稿)调整后(终稿)税差1 税差2500 0 0 0 0 01000 0 0 0 0 01500 0 0 0 0 02000 0 0 0 0 02500 25 0 0 -25 -253000 75 0 0 -75 -753500 125 25 0 -100 -125 4000 175 50 15 -125 -160 4500 250 75 30 -175 -220 5000 325 125 45 -200 -280 5500 400 175 95 -225 -305 6000 475 225 145 -250 -330 6500 550 275 195 -275 -355 7000 625 325 245 -300 -380 7500 725 375 295 -350 -430 8000 825 475 345 -350 -480 8500 925 575 445 -350 -480 9000 1025 675 545 -350 -480 9500 1125 775 645 -350 -480 10000 1225 875 745 -350 -480 10500 1325 975 845 -350 -480 11000 1425 1075 945 -350 -480 11500 1525 1175 1045 -350 -480 12000 1625 1275 1145 -350 -480 12500 1725 1400 1245 -325 -480 13000 1825 1525 1370 -300 -455 13500 1925 1650 1495 -275 -430 14000 2025 1775 1620 -250 -405 14500 2125 1900 1745 -225 -380 15000 2225 2025 1870 -200 -355 15500 2325 2150 1995 -175 -330 16000 2425 2275 2120 -150 -305 16500 2525 2400 2245 -125 -280 17000 2625 2525 2370 -100 -255 17500 2725 2650 2495 -75 -230 18000 2825 2775 2620 -50 -205 18500 2925 2900 2745 -25 -180 19000 3025 3025 2870 0 -155 19500 3125 3150 2995 25 -130 20000 3225 3275 3120 50 -10520500 3325 3400 3245 75 -80 21000 3425 3525 3370 100 -55 21500 3525 3650 3495 125 -30 22000 3625 3775 3620 150 -522500 3750 3900 3745 150 -5 23000 3875 4025 3870 150 -5 23500 4000 4150 3995 150 -5 24000 4125 4275 4120 150 -5 24500 4250 4400 4245 150 -5 25000 4375 4525 4370 150 -5 25500 4500 4650 4495 150 -5 26000 4625 4775 4620 150 -5 26500 4750 4900 4745 150 -5 27000 4875 5025 4870 150 -5 27500 5000 5150 4995 150 -5 28000 5125 5275 5120 150 -5 28500 5250 5400 5245 150 -5 29000 5375 5525 5370 150 -5 29500 5500 5650 5495 150 -5 30000 5625 5775 5620 150 -5 30500 5750 5900 5745 150 -5 31000 5875 6025 5870 150 -5 31500 6000 6150 5995 150 -5 32000 6125 6275 6120 150 -5 32500 6250 6400 6245 150 -5 33000 6375 6525 6370 150 -5 33500 6500 6650 6495 150 -5 34000 6625 6775 6620 150 -5 34500 6750 6900 6745 150 -5 35000 6875 7025 6870 150 -5 35500 7000 7150 6995 150 -5 36000 7125 7275 7120 150 -5 36500 7250 7400 7245 150 -5 37000 7375 7525 7370 150 -5 37500 7500 7650 7495 150 -5 38000 7625 7775 7620 150 -5 38500 7750 7925 7745 175 -5 39000 7875 8075 7895 200 20 39500 8000 8225 8045 225 45 40000 8125 8375 8195 250 70 40500 8250 8525 8345 275 95 41000 8375 8675 8495 300 120 41500 8500 8825 8645 325 145 42000 8625 8975 8795 350 170 42500 8775 9125 8945 350 170 43000 8925 9275 9095 350 170 43500 9075 9425 9245 350 170 44000 9225 9575 9395 350 170 44500 9375 9725 9545 350 170 45000 9525 9875 9695 350 170 45500 9675 10025 9845 350 170 46000 9825 10175 9995 350 170 46500 9975 10325 10145 350 170 47000 10125 10475 10295 350 170 47500 10275 10625 10445 350 170 48000 10425 10775 10595 350 170 48500 10575 10925 10745 350 170 49000 10725 11075 10895 350 170 49500 10875 11225 11045 350 170 50000 11025 11375 11195 350 170 50500 11175 11525 11345 350 170 51000 11325 11675 11495 350 170 51500 11475 11825 11645350 170 52000 11625 11975 11795 350 170 52500 11775 12125 11945 350 170 53000 11925 12275 12095 350 170 53500 12075 12425 12245 350 170 54000 12225 12575 12395 350 170 54500 12375 12725 12545 350 170 55000 12525 12875 12695 350 170 55500 12675 13025 12845 350 170 56000 12825 13175 12995 350 170 56500 12975 13325 13145 350 170 57000 13125 13475 13295 350 170 57500 13275 13625 13445 350 170 58000 13425 13775 13595 350 170 58500 13575 13950 13745 375 170 59000 13725 14125 13920 400 195 59500 13875 14300 14095 425 220 60000 14025 14475 14270 450 245 60500 14175 14650 14445 475 270 61000 14325 14825 14620 500 295 61500 14475 15000 14795 525 320 62000 14625 15175 14970 550 345 62500 14800 15350 15145 550 345 63000 14975 15525 15320 550 345 63500 15150 15700 15495 550 345 64000 15325 15875 15670 550 345 64500 15500 16050 15845 550 345 65000 15675 16225 16020 550 345 65500 15850 16400 16195 550 345 66000 16025 16575 16370 550 345 66500 16200 16750 16545 550 345 67000 16375 16925 16720 550 345 67500 16550 17100 16895 550 345 68000 16725 17275 17070 550 345 68500 16900 17450 17245 550 345 69000 17075 17625 17420 550 345 69500 17250 17800 17595 550 345 70000 17425 17975 17770 550 345 70500 17600 18150 17945 550 345 71000 17775 18325 18120 550 345 71500 17950 18500 18295 550 345 72000 18125 18675 18470 550 345 72500 18300 18850 18645 550 345 73000 18475 19025 18820 550 345 73500 18650 19200 18995 550 345 74000 18825 19375 19170 550 345 74500 19000 19550 19345 550 345 75000 19175 19725 19520 550 345 75500 19350 19900 19695 550 345 76000 19525 20075 19870 550 345 76500 19700 20250 20045 550 345 77000 19875 20425 20220 550 345 77500 20050 20600 20395 550 345 78000 20225 20775 20570 550 345 78500 20400 2095020745 550 345 79000 20575 21125 20920 550 345 79500 20750 21300 21095 550 345 80000 20925 21475 21270 550 345 80500 21100 21650 21445 550 345 81000 21275 21825 21620 550 345 81500 21450 22000 21795 550 345 82000 21625 22175 21970 550 345 82500 21825 22350 22145 525 320 83000 22025 22525 22320 500 295 83500 22225 22750 22495 525 270 84000 22425 22975 22720 550 295 84500 22625 23200 22945 575 320 85000 22825 23425 23170 600 345 85500 23025 23650 23395 625 370 86000 23225 23875 23620 650 39586500 23425 24100 23845 675 420 87000 23625 24325 24070 700 445 87500 23825 24550 24295 725 470 88000 24025 24775 24520 750 495 88500 24225 25000 24745 775 520 89000 24425 25225 24970 800 545 89500 24625 25450 25195 825 570 90000 24825 25675 25420 850 595 90500 25025 25900 25645 875 620 91000 25225 26125 25870 900 645 91500 25425 26350 26095 925 670 92000 25625 26575 26320 950 695 92500 25825 26800 26545 975 720 93000 26025 27025 26770 1000 745 93500 26225 27250 26995 1025 770 94000 26425 27475 27220 1050 795 94500 26625 27700 27445 1075 820 95000 26825 27925 27670 1100 845 95500 27025 28150 27895 1125 870 96000 27225 28375 28120 1150 895 96500 27425 28600 28345 1175 920 97000 27625 28825 28570 1200 945 97500 27825 29050 28795 1225 970 98000 28025 29275 29020 1250 995 98500 28225 29500 29245 1275 1020 99000 28425 29725 29470 1300 1045 99500 28625 29950 29695 1325 1070 100000 28825 30175 29920 1350 1095 100500 29025 30400 30145 1375 1120 101000 29225 30625 30370 1400 1145 101500 29425 30850 30595 1425 1170 102000 29625 31075 30820 1450 1195 102500 29850 31300 31045 1450 1195 103000 30075 31525 31270 1450 1195 103500 30300 31750 31495 1450 1195 104000 30525 31975 31720 14501195 104500 30750 32200 31945 1450 1195附Java计算程序:public class Tax{static double[] free = {2000, 3000, 3500};static double[][] bands = {{ 0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000}, { 0, 1500, 4500, 9000, 35000, 55000, 80000},{ 0, 1500, 4500, 9000, 35000, 55000, 80000}};static double[][] rates = {{5, 10, 15, 20, 25, 30, 35, 40, 45 },{5, 10, 20, 25, 30, 35, 45 },{3, 10, 20, 25, 30, 35, 45 }};static double tax(int type, double incomeForTax){double t = 0;int index = 1;incomeForTax = incomeForTax - free[type];if (incomeForTax< 0){return 0;}while (index < bands[type].length &&incomeForTax> bands[type][index]) {index ++;}for (inti = 0; i< index; i++){double delta = 0;if( i+1 bands[type][i+1] ) {delta = (bands[type][i+1] - bands[type][i]) * rates[type][i]/100;}else{delta = (incomeForTax - bands[type][i]) * rates[type][i]/100;}t += delta;}return t;}static public void main(String[]args){double income = 500;for (inti = 1; i< 210;i++){comp(income * i);}}static public void comp(double income) {double t1 = tax(0, income);double t2 = tax(1, income);double t3 = tax(2, income); System.out.print((int)income + "\t"); System.out.print((int)t1 + "\t"); System.out.print((int)t2 + "\t"); System.out.print((int)t3 + "\t"); System.out.print((int)(t2-t1) + "\t") ; System.out.print((int)(t3-t1) + "\n") ; }}。
工资纳税系统java课程设计
工资纳税系统java课程设计一、课程目标知识目标:1. 学生能理解并掌握Java语言中面向对象编程的基本概念和技能;2. 学生能运用所学知识,设计并实现一个工资纳税系统,包括职工信息管理、工资计算和纳税处理等功能;3. 学生能理解我国个人所得税的计算方法及相关政策。
技能目标:1. 学生能够运用Java语言编写出结构清晰、可读性强的代码;2. 学生能够通过本课程的学习,掌握使用Java进行问题分析、设计和解决方案的能力;3. 学生能够运用调试工具检查并修复程序中的错误,提高程序的稳定性。
情感态度价值观目标:1. 学生通过课程学习,培养对编程的兴趣和热情,提高主动学习和解决问题的能力;2. 学生能够认识到编程在实际生活中的应用,增强将所学知识应用于实际问题的意识;3. 学生在课程学习中,培养团队合作精神,提高沟通与协作能力。
课程性质分析:本课程为Java语言课程设计,注重实践性和应用性,旨在让学生通过实际操作,掌握Java编程的基本技能。
学生特点分析:学生为高年级本科生,已具备一定的Java编程基础,具有较强的自学能力和问题解决能力。
教学要求:1. 理论与实践相结合,注重培养学生的实际编程能力;2. 引导学生主动探索和解决问题,提高学生的创新思维能力;3. 注重团队协作,培养学生的沟通与协作能力。
二、教学内容1. 面向对象编程基础回顾:复习Java中的类、对象、继承、多态等基本概念,巩固学生面向对象编程的思想。
教材章节:《Java面向对象程序设计》第1-3章2. 工资纳税系统需求分析:分析工资纳税系统的功能需求,明确系统所需处理的数据和业务流程。
教材章节:《软件工程》第4章 需求分析3. 系统设计:学习Java GUI编程,设计工资纳税系统的用户界面;学习数据库编程,设计系统数据存储结构。
教材章节:《Java GUI编程》第1-2章;《Java数据库编程》第1-2章4. 工资计算与纳税处理:学习个人所得税的计算方法,实现工资计算和纳税处理功能。
税务管理系统java课程设计
税务管理系统java课程设计一、教学目标本课程旨在通过学习Java语言,让学生掌握税务管理系统的基本原理和实现方法。
具体目标如下:知识目标:使学生了解税务管理系统的相关概念和组成部分,理解Java语言在税务管理系统中的应用。
技能目标:培养学生具备使用Java语言进行程序设计的能力,能够独立完成税务管理系统的开发和调试。
情感态度价值观目标:激发学生对计算机科学和软件工程的兴趣,培养学生的创新意识和团队协作精神。
二、教学内容本课程的教学内容主要包括Java语言基础、税务管理系统的设计与实现两部分。
1.Java语言基础:包括Java语法、数据结构、面向对象编程、异常处理等。
2.税务管理系统的设计与实现:包括税务管理系统的基本原理、需求分析、系统设计、编码实现、测试与优化等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
1.讲授法:用于讲解Java语言基础知识和税务管理系统的基本原理。
2.案例分析法:通过分析实际案例,使学生更好地理解税务管理系统的设计与实现。
3.实验法:安排实验课程,让学生动手实践,培养实际操作能力。
4.小组讨论法:分组进行讨论,培养学生的团队协作能力和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java语言程序设计》、《税务管理系统设计与实现》。
2.参考书:提供相关的参考书籍,供学生自主学习。
3.多媒体资料:制作课件、教学视频等,丰富教学手段。
4.实验设备:提供计算机实验室,让学生进行实际操作。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和理解程度。
2.作业:布置与课程内容相关的编程作业,评估学生的编程能力和应用能力。
3.考试:安排期中和期末考试,测试学生对Java语言和税务管理系统知识的掌握程度。
java税务管理系统课程设计
java税务管理系统课程设计一、课程目标知识目标:1. 理解并掌握Java语言面向对象编程的基本原理和方法;2. 学会运用Java语言设计并实现税务管理系统的基本功能模块;3. 掌握数据库连接、查询及更新等操作,实现对税务数据的存储和管理;4. 了解税务管理系统的实际应用场景和业务流程。
技能目标:1. 能够运用Java语言编写出结构清晰、可维护性强的代码;2. 熟练使用开发工具(如Eclipse)进行Java程序设计和调试;3. 掌握运用数据库技术(如MySQL)进行数据存储和管理;4. 培养分析实际问题、提出解决方案并进行实现的能力。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发他们学习Java语言的积极性;2. 培养学生的团队协作精神,使他们学会在团队中沟通、协作、共同解决问题;3. 培养学生严谨、务实的学术态度,提高他们面对实际问题的解决能力;4. 通过税务管理系统的实际应用,使学生认识到信息技术在现实生活中的重要性,增强社会责任感。
本课程旨在帮助高年级学生将所学的Java语言知识运用到实际项目中,提高他们的编程能力和解决实际问题的能力。
课程充分考虑了学生的年龄特点和认知水平,注重培养他们的自主学习能力和团队协作精神。
通过本课程的学习,学生将能够独立设计并实现一个简单的税务管理系统,为将来从事软件开发和信息技术相关工作打下基础。
二、教学内容1. Java面向对象编程基础:类与对象、继承与多态、封装与抽象;2. Java异常处理与文件操作:异常处理机制、文件读写操作;3. 数据库技术:数据库基本概念、MySQL数据库操作、JDBC数据库连接;4. 税务管理系统功能模块设计:需求分析、系统设计、模块划分;5. Java GUI编程:Swing图形用户界面编程、事件处理机制;6. 税务管理系统实现:系统架构搭建、功能模块编程、数据库操作实现;7. 系统测试与优化:测试方法、性能优化、问题排查与修复。
JAVA计算个人所得税设计
JAVA计算个⼈所得税设计《JAVA语⾔程序设计》课程设计——计算个⼈所得税设计系别:计算机系专业:计算机科学与技术年级:07计算机本科(2)班姓名:钟俊杰指导教师:齐勇军2010年6⽉28⽇—2010年6⽉30⽇⽬录《JAVA语⾔程序设计》课程设计...............................................- 1 -⼀、摘要 ........................................................................................- 3 -⼆、需求分析................................................................................- 3 -2.1背景介绍 . (3)2.2功能需求 (4)三、总体设计................................................................................- 4 -四、详细设计................................................................................- 5 -五:代码实现及运⾏情况:........................................................- 5 -六、代码清单:............................................................................- 7 -七、⼩结 ..................................................................................... - 16 -⼋、参考⽂献............................................................................. - 18 -⼀、摘要本设计是⼀个基于命令⾏界⾯的计算个⼈所得税应⽤程序,根据⽤户输⼊的当⽉⼯资薪⾦总额计算应缴纳的个⼈所得税额。
java个人所得税代码
import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;public class shuilv extends JFrame implements ActionListener{private JTextField text_money;private JButton button;private JTable table;Object datas[][]=new Object[0][4];String titles[]={"收入总额(元)","适用税率(%)","速算扣除(元)","应纳利息(元)"};String[]header=titles;String ss[]=new String[4];JScrollPane js;DefaultTableModel model;private int i;public shuilv(){super("个人所得税计算");this.setBounds(400,200,500,200);this.setResizable(false);this.setBackground(java.awt.Color.lightGray);this.setDefaultCloseOperation(EXIT_ON_CLOSE);JPanel panel = new JPanel();this.getContentPane().add(panel, "North");panel.add(new JLabel("收入总额"));text_money = new JTextField("0",6);panel.add(text_money);panel.add(new JLabel("元"));button = new JButton("计算");panel.add(button);button.addActionListener(this);table=new JTable(datas, titles);js=new JScrollPane(table);this.getContentPane().add(js);this.setVisible(true);}public void updateTable(Object[] objTable){model.addRow(objTable);//给model对象添加数据行table.setModel(model);//把model作为JTable的数据来源}public void actionPerformed(ActionEvent e) //单击事件处理方法{model=new DefaultTableModel(header,0);double money=Double.parseDouble(""+text_money.getText()); //本金余额FileReader fin=null;BufferedReader bin=null;try{fin=new FileReader("data.txt"); //bin=new BufferedReader(fin);}catch(Exception ex){System.out.println("fin "+fin);}double del[]=new double[7]; //月还本金double rate[]=new double[7];double mon[]=new double[7];String dels=null;String rates=null;String mons=null;try{dels=bin.readLine();rates=bin.readLine();mons=bin.readLine();System.out.println("dels "+dels.length());bin.close();fin.close();}catch(Exception ex){}String aa="";int ii=0;for(int i=0;i<dels.length();i++){if(dels.charAt(i)!=',')aa+=dels.charAt(i);else{del[ii]=Double.parseDouble(aa);ii++;aa="";}}ii=0;aa="";for(int i=0;i<rates.length();i++){if(rates.charAt(i)!=',')aa+=rates.charAt(i);else{rate[ii]=Double.parseDouble(aa);ii++;aa="";}}ii=0;aa="";for(int i=0;i<mons.length();i++){if(mons.charAt(i)!=',')aa+=mons.charAt(i);else{mon[ii]=Double.parseDouble(aa);ii++;aa="";}}for(int i=0;i<7;i++){System.out.println(del[i]+" "+rate[i]);}ss[0] = String.format("%9.2f",money);for(int j=0;j<=5;j++)if(mon[j]<=money&&money<=mon[j+1]){i=j;break; //找到就可以退出循环了}/* if(mon[0]<=money&&money<=mon[1]){i=0;}if(mon[1]<money&&money<mon[2]){i=1;}if(mon[2]<money&&money<mon[3]){i=2;}if(mon[3]<money&&money<=mon[4]){i=3;}if(mon[4]<money&&money<=mon[5]){i=4;}if(mon[5]<money&&money<=mon[6]){i=5;} */if(mon[6]<money){i=6;}ss[1] = String.format("%9.2f",rate[i]);ss[2] = String.format("%9.2f",del[i]);ss[3] = String.format("%9.2f",money*rate[i]*0.01-del[i]);this.updateTable(ss);/* try{FileWriter fout=new FileWriter("data.txt");fout.write("0,105,555,1005,2755,5505,13505,\r\n");fout.write("3,10,20,25,30,35,45,\r\n");fout.close();}catch(Exception ex){}*/}public static void main(String args[]){new shuilv();}}。
个人所得税计算程序
《程序设计》课程设计报告题目:个人所得税计算程序班级:设计者:时间:得分:一‚设计目的与内容⑴设计个人所得税的计算程序使为了使人们快速的更加准确的的计算大量数额的税务为税务工作人员提供了快速简便的方法。
(2)“税法”规定,工资,薪金所得,使用超额累进税率,以每月收入额减去2000元后的余额,为应纳所得税。
(3)对ELse-If语句和嵌套If语句的使用。
功能介绍(1)该程序为广大税务工作人员呢的工作提供了便利,可以通过该程序进行大规模的税务计算。
三、模块和流程图级数全月所得税的额/元税率/% 级数全月所得税的额/元税率/%1 不超过500 52 500-2000 103 2000-5000 154 5000-20000 205 20000-40000 256 40000-60000 307 60000-80000 358 80000-100000 409 超过100000 45#include"stdio.h"main(){float s,m,t;printf("请输入工资:");scanf("%f",&s);s=s-2000;if(s>0){if(s>100000){m=s-10000;t=m*0.45+20000*0.35+20000*0.3+20000*0.25+15000*0.2+3000*0.15+500*0.05;}elseif(s>80000){m=s-80000;t=m*0.4+20000*0.35+20000*0.3+20000*0.25+15000*0.2+3000*0.15 +1500*0.1+500*0.05;}elseif(s>60000){m=s-60000;t=m*0.35+20000*0.3+20000*0.25+15000*0.2+3000*0.15+1500* 0.1+500*0.05;}elseif(s>40000){m=s-40000;t=m*0.3+20000*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;}elseif(s>20000){m=s-20000;t=m*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05; }elseif(s>5000){m=s-5000;t=m*0.2+3000*0.15+1500*0.1+500*0.05;}elseif(s>2000){m=s-2000;t=m*0.15+1500*0.1+500*0.05;}elseif(s>500){m=s-500;t=m*0.1+500*0.05;}else{m=s;t=m*0.05;}}elset=0;printf("应纳税 s: %7.2f\n",t);getchar();getch();}四、用户使用说明书用户在启动该程序只后只需把个人工资输入计算机,计算机就会很快的把应纳的税给计算出来。
JAVA静态成员与实例成员例子-计算税金
JAVA静态成员与实例成员类是类型而不是对象,一般在类里定义的成员是每个由此类产生的对象都拥有的,因此可以称之为对象成员,但是有时需要让类的所有对象在类的范围内共享某个成员,而这个成员不属于任何由此类产生的对象,它是属于整个类的,这种成员称之为静态成员。
例如,Math类中的pow方法是一个静态方法。
静态方法不向对象施加任何操作。
我们用Math.pow(x,y)调用Math类的pow方法计算幂x y,它并不使用任何一个Math对象来执行此任务,也没对任何对象施加操作。
6.1 静态字段和实例字段实例:自动编号主要知识点:实例成员与静态成员的概念。
实例成员与静态成员的特征。
实例成员与静态成员的访问规则。
问题描述:修改2.3节雇员税金计算实例,给雇员类添加一个属性雇员编号。
当创建一个雇员对象时,按创建雇员对象的顺序自动给该雇员的雇员编号设置一个值,同时还给雇员类添加一个number字段和getNumber方法。
通过number字段和getNumber方法都可获得系统中雇员的人数。
分析:我们在雇员类中除增加雇员编号属性之外,还增加了一个Number属性以计算存在于系统中雇员的人数,Number这个属性不应该属于哪个特定的对象,它是属于雇员类的,因此Number属性必须定义为静态属性。
每创建一个对象(调用构造函数),雇员人数加1。
由于Number属性是静态属性,因此不管有无雇员,都可读取Number属性的值。
Number属性的值是雇员对象的数目,客户是不能修改该属性值的,因此Number属性是只读属性即只有getNumber方法获取Number属性的值,不能有setNumber方法。
为了自动给员工的编号,我们在雇员类中再增加一个nextID字段,该字段也应该是静态字段,因为即使没有雇员对象,该字段也是存在的。
它属于这个类,而不属于单个对象。
1.打开2.3节雇员税金计算实例创建的Employee.java代码文件2.修改Employee类(修改部分见带底纹部分)。
ACCP6.0 JAVA内部测试附源代码
阶段小测试一、所得税计算1、功能要求开发基于控制台的雇员所得税计算系统。
具体要求如下:(1)从控制台读取雇员名称,工资和加班补贴。
(2)根据工资和加班补贴计算所得税。
(3)计算完毕后输出,输出内容需包括税前工资,税后工资,应纳所得税额。
运行界面如图-1所示。
图-1 系统运行界面2、类的设计该系统中必须包括两个类,类名及属性设置如下。
雇员类(Employee)✧名称(name)✧工资(salary)✧加班补贴(subsidy)信息输入类(IncomeTax)3、具体要求及推荐实现步骤1、创建雇员类,根据业务需要提供需要的构造方法和setter/getter方法。
2、开发雇员类的计算所得税的方法。
3、开发所得税输入类,从控制台获得输入信息。
4、所得税的计算公式如下:税前收入=工资+加班补贴税后收入=税前收入-所得税额所得税额= 应纳税额* 税率当税前收入小于2000元时,应纳税额为0元;当税前收入大于等于2000元时,应纳税额是税前收入-2000税率的规则如下:应纳税额税率0-500元5%500-2000元10%2000-5000元15%5000-20000元20%20000元以上30%友情附赠本人测试时的源代码供大家参考:public class Employee {/*计算所得税的方法*/public void get(String name,double salary,double subsidy){double earning=salary+subsidy;//税前收入double sum=0; //所得税额double money=earning-sum; //税后收入double incometax=earning-2000;//应纳税额if(earning < 2000){sum=0;}else{if(incometax>=0 &&incometax<500){sum=incometax*0.05;}else if(incometax >=500&&incometax<2000){sum=incometax*0.1;}else if(incometax>=2000&&incometax<5000){sum=incometax*0.15;}else if(incometax>=5000&&incometax<20000){sum=incometax*0.2;}else{sum=incometax*0.3;}}System.out.println("员工"+name+"的税前收入为:"+earning+"\t税后收入为:"+money);System.out.println("缴纳的个人所得税为"+sum);}}二、凯撒加密器1、功能要求开发基于控制台的凯撒加密系统。
基于Java技术的税收管理员平台的设计与实现的开题报告
基于Java技术的税收管理员平台的设计与实现的开题报告一、选题背景现代社会税制已经成为国民经济发展的重要组成部分。
然而在税收的征收与管理过程中,税务部门却存在很多问题。
对于税务部门而言,如何提高工作效率、简化办税流程、加强数据监管等方面存在着需求。
而基于Java技术的税收管理员平台的设计与实现,恰能解决这些问题。
二、选题意义1.提高税务部门的工作效率传统的税收管理方式往往需要多个环节的协同处理,才能完成一个纳税人的税务事务。
但基于Java技术的税收管理员平台,能够将税务部门的工作流程进行优化,从而提高工作效率。
2.简化办税流程税收管理员平台可以通过提供在线服务,方便纳税人进行税务申报、缴税等操作,避免了传统纸质申报等方式的繁琐,并且可以实现自动化处理的优势。
3.加强数据监管传统税收管理过程中,存在数据漏洞等问题。
而基于Java技术的税收管理员平台的实现,可以实现数据在线监管功能,从而提高税务部门对税收数据的安全性和监管效果。
三、论文内容本论文主要关注基于Java技术的税收管理员平台,将对该平台的设计与实现进行详细论述。
主要包括:1.研究现有税收管理系统的优缺点,介绍基于Java技术的税收管理员平台的实现方案。
2.详细描述税收管理员平台的系统设计与架构,并呈现整个系统的业务流程。
3.介绍税收管理员平台关键技术的实现方法与技术选型。
4.设计并实现税收管理员平台的各个功能模块,包括在线申报、缴费、查询等功能,以及数据监管与审计功能。
5.对税收管理员平台进行测试、性能评估,并进行系统重构与优化。
6.通过对数据统计与监管实现反馈的分析,可以得出税收管理员平台实现的收获与成功。
四、论文进度安排1.文学研究和调研阶段:完成研究现有税收管理系统的分析和基于Java技术的税收管理员平台的实现方案的编制,完成5%进度。
2.架构设计和技术选型阶段:完成税收管理员平台的系统设计、架构设计和技术选型工作,完成20%进度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JAVA语言程序设计》课程设计——计算个人所得税设计系别:计算机系专业:计算机科学与技术年级:07计算机本科(2)班姓名:钟俊杰指导教师:齐勇军2010年6月28日—2010年6月30日目录《JAVA语言程序设计》课程设计...............................................- 1 -一、摘要 ........................................................................................- 3 -二、需求分析................................................................................- 3 -2.1背景介绍 . (3)2.2功能需求 (4)三、总体设计................................................................................- 4 -四、详细设计................................................................................- 5 -五:代码实现及运行情况:........................................................- 5 -六、代码清单:............................................................................- 7 -七、小结 ..................................................................................... - 16 -八、参考文献............................................................................. - 18 -一、摘要本设计是一个基于命令行界面的计算个人所得税应用程序,根据用户输入的当月工资薪金总额计算应缴纳的个人所得税额。
为适应未来个人所得税法的可能变化,该程序支持对个人所得税起征点进行调整的功能,并且个人所得税各级税率也允许修改。
利用简单的菜单方式让用户选择所需的功能。
设计中主要用到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:修改税率五:代码实现及运行情况:1.用javac Application运行程序的命令行显示如下界面:2、登录后进入选择功能界面:3、进行选择功能:选择功能1,计算个人所得税。
输入工资,计算出结果2.进行功能选择:选择功能2,查询免征基数和税率,查询结果如下图所示:4、进行功能选择:选择功能3,修改免征基数,运行结果如下图:5、进行功能选择:选择功能4,修改税率。
运行结果如下:六、代码清单:import java.awt.Choice;import java.awt.Dialog;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import bel;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 ng.String;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import java.awt.BorderLayout;import java.awt.Frame;import bel;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;//用户登录界面public class GRS extends Frame implements ActionListener { private static final long serialVersionUID = 6347084101268070174L;static double base=1600; //免征基数static double[] taxRate={0.05, 0.10, 0.15, 0.20, 0.25};//各级税率public static void main(String[] args) {Frame frame = new Frame();new GRS(frame);}Label Label1 = new Label("用户名:");TextField textfieldialog = new TextField("密码:123");Label Label2 = new Label("用户密码:");TextField textfield2 = new TextField(10);Label Label5 = new Label("用户地区:");Choice choice = new Choice();Label Label6 = new Label("用户类别:");List 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("个人所得税查询");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(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);}}//主菜单public 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: 计算个人所得税");JButton button6 = new JButton("2: 查询免征基数和税率");JButton button7 = new JButton("3: 修改免征基数");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.addActionListener(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(newFlowLayout(FlowLayout.CENTER));Label tf = new Label("对不起,密码错误,请重试");dialog.add(tf);dialog.setBounds(455, 430, 250, 60);dialog.setResizable(false);dialog.setVisible(true);dialog.addWindowListener(new windowclose());}} elseSystem.exit(0);}//计算个人所得税private class ButAL implements ActionListener {double income = -1; //个人收入double revenue = -1; //个人所得税JTextField testField;JTextField resultField;GRS r;public void actionPerformed(ActionEvent event) {JFrame f = new JFrame("个人所得税的计算");JLabel jl = new JLabel("请输入你的工资:");JLabel result = new JLabel("计算的结果:");testField = new JTextField(5);resultField = new JTextField(5);JButton calculate = new JButton("计算");calculate.addActionListener(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 actionPerformed(ActionEvent e) {String s1 = testField.getText().trim();income = Double.valueOf(s1);double taxible = 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];else if (taxible > 5000)revenue = (taxible - 5000) * r.taxRate[3] + 3000 * r.taxRate[2]+ 1500 * r.taxRate[1] + 500 * r.taxRate[0];else if (taxible > 2000)revenue = (taxible - 2000) * r.taxRate[2] + 1500 * r.taxRate[1]+ 500 * r.taxRate[0];else if (taxible > 500)revenue = (taxible - 500) * r.taxRate[1] + 500 * r.taxRate[0];else if (taxible > 0)revenue = taxible * r.taxRate[0];else if (taxible <= 0)revenue = 0;String s2 = String.valueOf(revenue);resultField.setText(s2);}}}//查询免征基数和税率private class ChaXun implements ActionListener {GRS r;@Overridepublic void actionPerformed(ActionEvent e) {final JFrame f = new JFrame("查询"); //窗体1JTextField 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(" 免征基数为:" + String.valueOf(r.base)); //输入免征基数f.setLayout(new GridLayout(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(new WindowAdapter() {@Overridepublic void windowClosing(WindowEvent e) {f.setVisible(false);}});f.setBounds(385, 420, 400, 200);f.setResizable(false);f.setVisible(true);}}//修改免征基数private class XiuGai1 implements ActionListener{GRS r;TextField tf = new TextField(10);Frame f = new Frame("修改免征基数");@Overridepublic void actionPerformed(ActionEvent e) {f.add(new Label("现在的免征基数为:" + r.base), BorderLayout.NORTH);f.add(new Label("请输入新的免征基数: "), BorderLayout.CENTER);f.add(tf, BorderLayout.EAST);tf.addActionListener(new TextFieldListener());f.addWindowListener(new WindowAdapter() {@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 = Double.valueOf(s);tf.setText("修改成功!");}}}//修改税率private class XiuGai2 implements ActionListener {int rateLevel = 0; //客户要修改的税率级别double newTaxRate = 0; //修改后的税率GRS r;Frame f = null;TextField tf1 = null;TextField tf2 = null;@Overridepublic void actionPerformed(ActionEvent e) {f = new Frame("修改税率"); //创建窗体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("请输入要修改的税率的级别:"), BorderLayout.WEST);p1.add(tf1,BorderLayout.EAST );p1.add(ok1,BorderLayout.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(" 请输入你确定修改后的税率:"), BorderLayout.WEST);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>0 && rateLevel<6){r.taxRate[rateLevel-1] = rateLevel; //修改税率级别tf1.setText("请继续!");}else {tf1.setText("税率级别错误,修改失败!");}}}private class TF2Listener implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {String s2 = tf2.getText().trim();double d = Double.valueOf(s2);r.taxRate[rateLevel - 1] = d;tf2.setText("修改成功!");}}}}七、小结本产品为“计算个人所得税”系统,其功能齐全,操作简单。