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

📄 incometax.java

📁 用JAVA编写一个基于命令行的计算个人所得税的程序
💻 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 + -