📄 calculator.java
字号:
package calculator;
import java.io.IOException;
/**
* calculator类是这个程序的核心,税率的计算就在这个类中进行
* @author ZiHi
* @param TaxTable tt 是对传进来的taxtable进行复制用,目的是保护程序中真正使用的taxtable
* @param double tax 是存放最后计算税率的
* @param int income 是存放用户输入收入的
*/
public class Calculator {
public TaxTable tt;
double tax;
int income;
/**
* calculator的构造函数,进行各种参数的初始化其中tax=0
* @param int tincome 初始化时使用的收入参数
* @param TaxTable t 初始化时使用的taxtable
*/
public Calculator(int tincome,TaxTable t){
tt=new TaxTable(t);
System.out.print(tt.toString());
income=tincome-tt.base;
tax=0;
}
/**
* 这个函数用于获得计算应缴个人所得税,其目的在于不让用户改变所得税的数目,只能查看
* @return tax 个人所得税
*/
public double GetTax()
{
return tax;
}
/**
* 这个函数用于计算税率,把接收到的收入减去起征点,再进行收入定位,最后进行税的计算
*/
public void Maketax()
{
int i=tt.rank-1;
TaxRow temp=new TaxRow(tt.table.get(i));
while(income<temp.level){
i--;
temp=(TaxRow)tt.table.get(i);
}
int ti=income-temp.level;
tax+=ti*(temp.rate/100);
TaxRow temp1;
do{
i--;
temp1=new TaxRow(tt.table.get(i));
tax+=(temp.level-temp1.level)*(temp1.rate/100);
temp=(TaxRow)tt.table.get(i);
}while(temp1.level>0);
}
public static void main(String args[]) throws IOException
{
TaxTable testTable=new TaxTable();
System.out.println("Now runinng the calculator test program!");
System.out.println("The test income is 4300");
Calculator testCa=new Calculator(4300,testTable);
testCa.Maketax();
System.out.println("The tax for test is "+testCa.GetTax());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -