最好用的电纸书:怎样用java编写个人所得税公式呀?

来源:百度文库 编辑:高考问答 时间:2024/04/29 06:34:34
SOS!!!

java计算个税例子:

/**

 * @author Kun Sun

 * @Date: 2013.10.15

 */

public class Employee { // 雇员类

private String ID;       // ID

private String name;     // 姓名

private int salary;      // 工资薪金所得

private int insureHome;  // “五险一金”数额

private int deduct;      // 扣除数额

Employee(){

}

Employee(String ID,String name){ // 带参数的构造方法

this.ID = ID;

this.name = name;

}

    

Employee(String ID,String name,int salary,int insureHome,int deduct){  // 带参数的构造方法

this.ID = ID;

this.name = name;

this.salary = salary;

this.insureHome = insureHome;

   this.deduct = deduct;

}

public String getID() {

return ID;

}


public String getName() {

return name;

}


public int getSalary() {

return salary;

}


public int getInsureHome() {

return insureHome;

}


public int getDeduct() {

return deduct;

}


public void setID(String iD) {

ID = iD;

}


public void setName(String name) {

this.name = name;

}


public void setSalary(int salary) {

this.salary = salary;

}


public void setInsureHome(int insureHome) {

this.insureHome = insureHome;

}


public void setDeduct(int deduct) {

this.deduct = deduct;

}

public void selfValue(){ // 个人所得税具体计算

double sefValue;

   if(salary>=0 && salary<1500){

   sefValue = (double)(salary-insureHome-deduct)*0.03 - 0;

   }else if(salary>=1500 && salary<4500){

   sefValue = (double)(salary-insureHome-deduct)*0.1 - 105;


   }else if(salary>=4500 && salary<9000){

   sefValue = (double)(salary-insureHome-deduct)*0.2 - 555;


   }else if(salary>=9000 && salary<35000){

   sefValue = (double)(salary-insureHome-deduct)*0.25 - 1005;


   }else if(salary>=35000 && salary<55000){

   sefValue = (double)(salary-insureHome-deduct)*0.30 - 2755;


   }else if(salary>=55000 && salary<80000){

   sefValue = (double)(salary-insureHome-deduct)*0.35 - 5505;


   }else{

   sefValue = (double)(salary-insureHome-deduct)*0.45 - 13505;

   }

   System.out.println(sefValue);

}

}


 // 用于测试雇员类

public class MainClass {


/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("第一种调用方法:");

Employee emp = new Employee("1001","Sun");

emp.setSalary(12345);

emp.setInsureHome(890);

emp.setDeduct(55);

System.out.println("编号为"+emp.getID()+",姓名是"+emp.getName()+" 的应纳税额是:");

   emp.selfValue();

   

   System.out.println("------------------------\n第二种调用方法:");

   Employee emp2 = new Employee("1001","Sun",12345,890,55);

System.out.println("编号为"+emp2.getID()+",姓名是"+emp2.getName()+" 的应纳税额是:");

   emp2.selfValue();

   

   System.out.println("------------------------\n第二种调用方法:");

   Employee emp3 = new Employee();

   emp3.setID("1001");

   emp3.setName("Sun");

emp3.setSalary(12345);

emp3.setInsureHome(890);

emp3.setDeduct(55);

System.out.println("编号为"+emp3.getID()+",姓名是"+emp3.getName()+" 的应纳税额是:");

   emp3.selfValue();

}

}

运行结果:

import java.io.*;
public class Tax
{
public static void main(String[] args) throws IOException
{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("工资:");
String s1=input.readLine();
double s=0,x=Double.parseDouble(s1);
double p;
x=x-800;
if (x>=100000)
{
x-=100000;
s+=x*0.45;
x=100000;
}
if (x>=80000)
{
x-=80000;
s+=x*0.40;
x=80000;
}
if (x>=60000)
{
x-=60000;
s+=x*0.35;
x=60000;
}
if (x>=40000)
{
x-=40000;
s+=x*0.30;
x=40000;
}
if (x>=20000)
{
x-=20000;
s+=x*0.25;
x=20000;
}
if (x>=5000)
{
x-=5000;
s+=x*0.20;
x=5000;
}
if (x>=2000)
{
x-=2000;
s+=x*0.15;
x=2000;
}
if (x>=500)
{
x-=500;
s+=x*0.10;
x=500;
}
if (x>=0)
{
s+=x*0.05;
}

p=Double.parseDouble(s1)-s;
System.out.println("应交税额:"+s);
System.out.println("税后金额:"+p);
}
}

我本人一直对个人所得税的计算持怀疑态度。。我也没法确认它是否正确。。只是当作业交(我自己目前也没涉及个人所得税计算的问题)

import java.io.*;
public class Tax
{
public static void main(String[] args) throws IOException
{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("工资:");
String s1=input.readLine();
double s=0,x=Double.parseDouble(s1);
double p;
x=x-800;
if (x>=100000)
{
x-=100000;
s+=x*0.45;
x=100000;
}
if (x>=80000)
{
x-=80000;
s+=x*0.40;
x=80000;
}
if (x>=60000)
{
x-=60000;
s+=x*0.35;
x=60000;
}
if (x>=40000)
{
x-=40000;
s+=x*0.30;
x=40000;
}
if (x>=20000)
{
x-=20000;
s+=x*0.25;
x=20000;
}
if (x>=5000)
{
x-=5000;
s+=x*0.20;
x=5000;
}
if (x>=2000)
{
x-=2000;
s+=x*0.15;
x=2000;
}
if (x>=500)
{
x-=500;
s+=x*0.10;
x=500;
}
if (x>=0)
{
s+=x*0.05;
}

p=Double.parseDouble(s1)-s;
System.out.println("应交税额:"+s);
System.out.println("税后金额:"+p);
}
}

我本人一直对个人所得税的计算持怀疑态度。。我也没法确认它是否正确。。只是当作业交(我自己目前也没涉及个人所得税计算的问题