📄 personnaltax.java
字号:
/* PessonnalTax.java
*
* easy program
*
* (guanzhx) personnaltax 1.0
*
* 2008.03.19
*
* 版权所有,翻版必究!
*
*/
import java.io.*;
public class personnaltax {
/**
* @param args
* @throws IOException
* @throws NumberFormatException
* @throws IOException
*/
public static double k=1600.00; //定义原始的起征点和各级税率
public static double t1=0.05;
public static double t2=0.10;
public static double t3=0.15;
public static double t4=0.20;
public static double t5=0.25;
public static double get_tax(double w) //计算个人所得税具体值的方法
{
double a=0;
double cha=w-k;
if(cha<=0)
{a=0; }else{
if(cha<=500){
a=cha*t1;
}else
{if(cha<=2000){
a=(cha-500)*t2+25;
}else{
if(cha<=5000){
a=(cha-2000)*t3+175;
}else{
if(cha<=20000){
a=(cha-5000)*t4+775;
}else{
a=(cha-20000)*t5+4525;
}
}
}
}
}
return a;
}
public static void main(String[] args) throws NumberFormatException, IOException //程序的主方法
{
// TODO 自动生成方法存根
System.out.println(" 计算个人所得税简易程序(关真新05373009) "); // 程序创建者
System.out.println("本程序可提供您选择的功能:" +"\n"+
"0、退出;" +"\n"+
"1、输入工资计算个人所得税;" +"\n"+
"2、对个人所得税的起征点进行修改;" +"\n"+
"3、修改个人所得税的各级税率。"); // 程序提供的功能
int a=1; //一个用于判定是否循环的常量
double ptax;
System.out.println("您可以通过输入0、1、2、3来选择不同的功能。请选择您需要的功能:");
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
do
{
int i=Integer.parseInt(din.readLine()); //用户初步选择要使用的功能
System.out.println(""+i);
switch(i)
{
case 0:
System.out.println("您选择了退出本程序,谢谢使用!");
a=2;
break;
case 1:
System.out.println("您选择了计算个人所得税,请输入您的工资:"); //用户选择使用计算个人所得税的功能
int s=Integer.parseInt(din.readLine());
ptax=get_tax(s);
System.out.println("您应缴纳的个人所得税为:"+ptax);
System.out.println("您可以继续选择本程序的功能,请选择您需要的功能:");
a=1;
break;
case 2:
System.out.println("您选择了修改个人所得税的起征点,请您输入新的个人所得税起征点:"); //用户选择修改个人所得税的起征点
double nk=Integer.parseInt(din.readLine());
k=nk;
System.out.println("您修改后的个人所得税起征点为:"+k);
System.out.println("您已经成功修改了个人所得税的起征点。您可以继续选择本程序的功能,请选择您需要的功能:");
a=1;
break;
case 3:
System.out.println("您选择了修改个人所得税的各级税率,请您选择您要修改的级别:"); //用户选择修改个人所得税的各级税率
System.out.println("注意:您要输入的新税率值是去掉%后的值,即税率值的100倍!!!!!");
int x=Integer.parseInt(din.readLine());
switch(x){ //分别对应用户修改1-5级税率时输入新的税率值
case 1:
System.out.println("您选择了修改个人所得税的第"+x+"级税率,请您输入第"+x+"级税率的新值:");
double nt1=Integer.parseInt(din.readLine());
if((nt1<=0)||(nt1>=100))System.out.println("您输入错误!修改未成功,请重新选择!");
else{
t1=nt1/100;
System.out.println("您修改后的个人所得税的第"+x+"级税率为:"+t1);}
break;
case 2:
System.out.println("您选择了修改个人所得税的第"+x+"级税率,请您输入第"+x+"级税率的新值:");
double nt2=Integer.parseInt(din.readLine());
if((nt2<=0)||(nt2>=100)) System.out.println("您输入错误!修改未成功,请重新选择!");
else{
t2=nt2/100;
System.out.println("您修改后的个人所得税的第"+x+"级税率为:"+t2);}
break;
case 3:
System.out.println("您选择了修改个人所得税的第"+x+"级税率,请您输入第"+x+"级税率的新值:");
double nt3=Integer.parseInt(din.readLine());
if((nt3<=0)||(nt3>=100)) System.out.println("您输入错误!修改未成功,请重新选择!");
else{
t3=nt3/100;
System.out.println("您修改后的个人所得税的第"+x+"级税率为:"+t3);}
break;
case 4:
System.out.println("您选择了修改个人所得税的第"+x+"级税率,请您输入第"+x+"级税率的新值:");
double nt4=Integer.parseInt(din.readLine());
if((nt4<=0)||(nt4>=100)) System.out.println("您输入错误!修改未成功,请重新选择!");
else{
t4=nt4/100;
System.out.println("您修改后的个人所得税的第"+x+"级税率为:"+t4);}
break;
case 5:
System.out.println("您选择了修改个人所得税的第"+x+"级税率,请您输入第"+x+"级税率的新值:");
double nt5=Integer.parseInt(din.readLine());
if((nt5<=0)||(nt5>=100)) System.out.println("您输入错误!修改未成功,请重新选择!");
else{
t5=nt5/100;
System.out.println("您修改后的个人所得税的第"+x+"级税率为:"+t5);}
break;
default:
if((x>5)||(x<=0))
System.out.println("您选择的级别不存在!");
break;
}
System.out.println("您可以继续选择本程序的功能,请选择您需要的功能:");
a=1;
break;
default:
System.out.println("您的输入出现错误!请重新输入您需要的功能:");
a=1;
break;
}
} while(a<2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -