⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tax.java

📁 是<java程序设计>的课后作业2-8源码.可以供初学者参考,作了解java基础语法所用.
💻 JAVA
字号:

public class Tax {
	
	/**数据成员*/
	
	//纳税人状态
	int filingStatus;
	public final static int SINGLE_FILER=0;
	public final static int MARRIED_JOINTLY=1;
	public final static int MARRIED_SEPARATELY=2;
	public final static int HEAD_HOUSEHOLD=3;
	
	//各种纳税人的纳税等级
	int [][]brackets;
	
	//各种纳税等级的税率
	double[] rates;
	
	//存储可征税收入
	double taxableIncome;
	 
	 //无参构造方法
	 
	 public Tax()
	 {
	 	//2001年各等级税率
	 	rates=new double[]{0.10,0.15,0.27,0.30,0.35,0.386};
	 	
	 	//2001年各种纳税人的纳税等级
	 	brackets=new int[][]{
	 	{6000,27950,67700,141250,307050},
	 	{12000,46700,112850,171950,307050},
	 	{6000,23350,56425,85975,153525},
	 	{10000,37450,96700,156600,307050}
	 		};	
	 	
	 	//默认纳税人状态
	 	 filingStatus=SINGLE_FILER;
	 	 
	 	 //默认可纳税收入
	 	 taxableIncome=0.0;
	 }
	 
	 //带参的构造函数
	 public Tax(int taxerStatus,int[][] taxBrackets,double[] taxRates,double income)
	 {
	 	//纳税人状态
	 	filingStatus=taxerStatus;
	 	
	 	//可纳税收入
	 	taxableIncome=income;
	 	
	 	//各纳税人的纳税等级
	 	brackets=new int[taxBrackets.length][];
	 	for(int i=0;i<taxBrackets.length;i++)
	 	{
	 		brackets[i]=new int [taxBrackets[i].length];
	 		for(int j=0;j<taxBrackets[i].length;j++)
	 		{
	 			brackets[i][j]=taxBrackets[i][j];
	 		}
	 	} 	
	 	
	 	//各等级的税率
	 	rates=new double[taxRates.length];
	 	for(int i=0;i<taxRates.length;i++)
	 	{
	 		rates[i]=taxRates[i];
	 	}
	 	
	 }
	 
	 //获取纳税人等级
	 int getFilingStatus()
	 {
	 	return filingStatus;
	 }
	 
	 //获取税率等级
	double[] getRates()
	{
		return rates;
	}
	
	//获取各种纳税人的纳税等级
	int[][] getBrackets()
	{
		return brackets;
	}
	
	//获取可纳税收入
	double getTaxableIncome()
	{
		return taxableIncome;
	}
	
	//设置纳税人状态
	void setFilingStatus(int newStatus)
	{
		filingStatus=newStatus;
	}
	
	//设置各种纳税等级的税率
	void setRates(double[] newRates )
	{
		for(int i=0;i<newRates.length;i++)
		{
			rates[i]=newRates[i];
		}
	}
	
	//设置各种纳税人的纳税等级
	void setBrackets(int[][] newBrackets)
	{
		for(int i=0;i<newBrackets.length;i++)
			for(int j=0;j<newBrackets[i].length;j++)
			{
				brackets[i][j]=newBrackets[i][j];
			}
	}
	
	//设置可纳税收入
	void setTaxableIncome(double newTaxableIncome)
	{
		taxableIncome=newTaxableIncome;
	}
	
	public double findTax()
	{
		double tax=0;
		
		if(taxableIncome<=brackets[filingStatus][0])
			return tax=taxableIncome*rates[0];//Done
		else tax=brackets[filingStatus][0]*rates[0];
		
		for(int i=1;i<brackets[filingStatus].length;i++)
		{
			if(taxableIncome>brackets[filingStatus][i])
				tax+=(brackets[filingStatus][i]-brackets[filingStatus][i-1])*rates[i];
			else 
			{
				tax+=(taxableIncome-brackets[filingStatus][i-1])*rates[i];
				return tax;
			}
		}
		
		//高出最高的可税收入坎
		return tax+=(taxableIncome-brackets[filingStatus][brackets[filingStatus].length-1])*rates[rates.length-1];
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -