📄 incometax.java
字号:
import java.io.*;
/**
* 个人所得税计算程序
* @author wangjun
*
*/
public class IncomeTax {
private static IncomeTaxComputer incometax = new IncomeTaxComputer();
// 主程序
public static void main(String[] args) {
System.out.println("您好!欢迎进入由wj制作的个人所得税计算程序,请根据提示选择相应选项");
boolean result = true;
while(result)
{
result = mainMenu();
}
System.out.println("感谢您使用个人所得税计算程序!");
}
// 主菜单处理程序
private static boolean mainMenu()
{
System.out.println("========主菜单=========");
System.out.println("1: 查看当前税制信息");
System.out.println("2: 计算个人所得税");
System.out.println("3: 修改税收起征点");
System.out.println("4: 修改各级税率");
System.out.println("5: 结束程序");
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine = in.readLine();
int choice = Integer.valueOf(inputLine).intValue();
if(choice==1){
boolean repeat=true;
while(repeat)
{
repeat=getInformation();
}
return true;
}
else if(choice==2){
boolean repeat=true;
while(repeat)
{
repeat=computeTax();
}
return true;
}
else if(choice==3){
boolean repeat=true;
while(repeat)
{
repeat=setTaxBase();
}
return true;
}
else if(choice==4){
boolean repeat=true;
while(repeat)
{
repeat=setTaxRatio();
}
return true;
}
else if(choice==5){
return false;
}
else {
System.out.println("输入错误,请重新选择");
return true;
}
}catch (Exception exc){
System.out.println("输入错误,请重新选择");
return true;
}
}
//查看当前税制信息
private static boolean getInformation()
{
System.out.println("================当前税制==================");
System.out.println("个税起征点: "+incometax.getBase()+ "元");
System.out.println("500元以下的税率 "+incometax.getRatio(0));
System.out.println("500-2000元之间的税率 "+incometax.getRatio(1));
System.out.println("2000-5000元之间的税率 "+incometax.getRatio(2));
System.out.println("5000-20000元以下税率 "+incometax.getRatio(3));
System.out.println("20000元以上的税率 "+incometax.getRatio(4));
System.out.println("输入任意键返回");
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine = in.readLine();
return false;
}catch (Exception exc){
return false;
}
}
// 处理计算个人所得税
private static boolean computeTax()
{
System.out.println("==========计算个人所得税=====================");
System.out.println("请输入当月收入");
System.out.println("返回请输入0");
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine = in.readLine();
double income = Double.valueOf(inputLine);
if(income == 0)
return false;
if(income < 0 )
return true;
double tax=incometax.compute(income);
System.out.println("收入为:" + income+" 应缴纳个税: "+ tax);
return true;
}catch (Exception exc){
System.out.println("输入错误,请重新选择");
return true;
}
}
// 处理修改税收起征点
private static boolean setTaxBase()
{
System.out.println("==============更改个税起征点=====================");
System.out.println("当前税制的起征点为: "+incometax.getBase()+" 请输入新的起征点");
System.out.println("返回请输入0");
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine = in.readLine();
double base = Double.valueOf(inputLine);
if(base == 0)
return false;
if(base < 0 )
return true;
incometax.setBase(base);
return false;
}catch (Exception exc){
System.out.println("输入错误,请重新选择");
return true;
}
}
// 处理修改税率
private static boolean setTaxRatio()
{
System.out.println("============更改各级税率===================");
System.out.println("1: 修改500元以下税率");
System.out.println("2: 修改500-2000元之间的税率");
System.out.println("3: 修改2000-5000元之间的税率");
System.out.println("4: 修改5000-20000元之间的税率");
System.out.println("5: 修改20000元以上的税率");
System.out.println("0: 返回");
try{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String inputLine = in.readLine();
int choice = Integer.valueOf(inputLine).intValue();
if(choice==0)
return false;
if(choice<-1 || choice>=6)
return true;
System.out.print("请输入新的税率: ");
inputLine = in.readLine();
double ratio = Double.valueOf(inputLine).doubleValue();
if(ratio < 0 || ratio >= 1)
return true;
incometax.setRatio(ratio,choice-1);
return true;
}catch (Exception exc){
System.out.println("输入错误,请重新选择");
return true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -