十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
java計(jì)算個(gè)稅例子:

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),瀾滄企業(yè)網(wǎng)站建設(shè),瀾滄品牌網(wǎng)站建設(shè),網(wǎng)站定制,瀾滄網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,瀾滄網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
/**
* @author Kun Sun
* @Date: 2013.10.15
*/
public class Employee { // 雇員類
private String ID; ? ? ? // ID
private String name; ? ? // 姓名
private int salary; ? ? ?// 工資薪金所得
private int insureHome; ?// “五險(xiǎn)一金”數(shù)額
private int deduct; ? ? ?// 扣除數(shù)額
Employee(){
}
Employee(String ID,String name){ // 帶參數(shù)的構(gòu)造方法
this.ID = ID;
this.name = name;
}
Employee(String ID,String name,int salary,int insureHome,int deduct){ ?// 帶參數(shù)的構(gòu)造方法
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(){ // 個(gè)人所得稅具體計(jì)算
double sefValue;
? ?if(salary=0 salary1500){
? ? sefValue = (double)(salary-insureHome-deduct)*0.03 - 0;
? ?}else if(salary=1500 salary4500){
? ? sefValue = (double)(salary-insureHome-deduct)*0.1 - 105;
? ?}else if(salary=4500 salary9000){
? ? sefValue = (double)(salary-insureHome-deduct)*0.2 - 555;
? ?}else if(salary=9000 salary35000){
? ? sefValue = (double)(salary-insureHome-deduct)*0.25 - 1005;
? ?}else if(salary=35000 salary55000){
? ? sefValue = (double)(salary-insureHome-deduct)*0.30 - 2755;
? ?}else if(salary=55000 salary80000){
? ? sefValue = (double)(salary-insureHome-deduct)*0.35 - 5505;
? ?}else{
? ? sefValue = (double)(salary-insureHome-deduct)*0.45 - 13505;
? ?}
? ?System.out.println(sefValue);
}
}
// 用于測(cè)試雇員類
public class MainClass {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("第一種調(diào)用方法:");
Employee emp = new Employee("1001","Sun");
emp.setSalary(12345);
emp.setInsureHome(890);
emp.setDeduct(55);
System.out.println("編號(hào)為"+emp.getID()+",姓名是"+emp.getName()+" 的應(yīng)納稅額是:");
? ?emp.selfValue();
?
? ?System.out.println("------------------------\n第二種調(diào)用方法:");
? ?Employee emp2 = new Employee("1001","Sun",12345,890,55);
System.out.println("編號(hào)為"+emp2.getID()+",姓名是"+emp2.getName()+" 的應(yīng)納稅額是:");
? ?emp2.selfValue();
?
? ?System.out.println("------------------------\n第二種調(diào)用方法:");
? ?Employee emp3 = new Employee();
? ?emp3.setID("1001");
? ?emp3.setName("Sun");
emp3.setSalary(12345);
emp3.setInsureHome(890);
emp3.setDeduct(55);
System.out.println("編號(hào)為"+emp3.getID()+",姓名是"+emp3.getName()+" 的應(yīng)納稅額是:");
? ?emp3.selfValue();
}
}
運(yùn)行結(jié)果:
package COM.T;
import java.util.Scanner;
class Print1{
public void write1(){
System.out.println("0-單身納稅人,1-已婚共同納稅人或證實(shí)的鰥寡,2-已婚單獨(dú)納稅人, ? ? ? ?3-家庭戶主納稅人");}
public void write2(){
System.out.print("Enter the taxable income:");}
public void write3(){
System.out.print("Enter the filling static:");}
}
public class Test {
public static void main(String[] args) {
double ? tax=0;
double[] rates = {0.10,0.15,0.25,0.28,0.33,0.35};
int[][] brackets = {
{8350,33950,82250,171550,372950},
{16700,67900,137050,208850,372950},
{8350,33950,68525,104425,186475},
{11950,45500,117450,190200,372950}
};
代碼要發(fā)完整是很麻煩的 想知道可以找我
勉費(fèi)java學(xué)習(xí)裙開(kāi)頭的的第一部分是:四二六,位于中間的第二部分是:三九六,處于最后一部分的是二八四:二八四
這個(gè)題目很有意思。不用這么復(fù)雜。大概10幾句就做完了。
以前我用C#做過(guò)的。先把邏輯簡(jiǎn)化了。幾個(gè)IF THEN就搞定
public?static?void?main(String[]?args)?{
System.out.println("輸入你的收入:");
Scanner?input?=?new?Scanner(System.in);
double?money?=?input.nextFloat();
double?tax?=?0;
if(money?=?500){
tax?=?money?*?0.05;
}else?if(money??500??money?=?20000){
tax?=?money?*?0.1;
}
//?.....
System.out.println("納稅:"?+?tax?+?"?元");
}
public float ComputeTax(float income) //income為工資
{
float f_income=income-800; //起征基數(shù)為800,同時(shí)也可以參數(shù)化處理
float[] tax_line={0f,500f,2000f,5000f,20000f,40000f,60000f,80000f,100000f};//計(jì)算個(gè)人所得稅的檔次(假設(shè)員工為中國(guó)國(guó)籍,因?yàn)閲?guó)籍不同起征點(diǎn)數(shù)不同,稅率不同。)
float[] tax_rate={0f,0.05f,0.10f,0.15f,0.20f,0.25f,0.30f,0.35f,0.40f}; //各檔次稅率
float[] tax_sub={0.f,25f,125f,375f,1375f,3375f,6375f,10375f,15375f}; //采用了簡(jiǎn)化算法
int i_tax_level=0; //為了計(jì)算簡(jiǎn)便,把工資進(jìn)行分檔
while(f_incometax_line[i_tax_level]i_tax_leveltax_line.length)
{
i_tax_level++;
};
if(i_tax_level0)
{
float f_tax=tax_sub[i_tax_level-1]+(f_income-tax_line[i_tax_level-1])*tax_rate[i_tax_level]; //算稅的公式
return f_tax;
}
else
{
return 0f;
}
}