?? 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("您好!歡迎進(jìn)入由wj制作的個人所得稅計算程序,請根據(jù)提示選擇相應(yīng)選項");
boolean result = true;
while(result)
{
result = mainMenu();
}
System.out.println("感謝您使用個人所得稅計算程序!");
}
// 主菜單處理程序
private static boolean mainMenu()
{
System.out.println("========主菜單=========");
System.out.println("1: 查看當(dāng)前稅制信息");
System.out.println("2: 計算個人所得稅");
System.out.println("3: 修改稅收起征點(diǎn)");
System.out.println("4: 修改各級稅率");
System.out.println("5: 結(jié)束程序");
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;
}
}
//查看當(dāng)前稅制信息
private static boolean getInformation()
{
System.out.println("================當(dāng)前稅制==================");
System.out.println("個稅起征點(diǎn): "+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("請輸入當(dāng)月收入");
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+" 應(yīng)繳納個稅: "+ tax);
return true;
}catch (Exception exc){
System.out.println("輸入錯誤,請重新選擇");
return true;
}
}
// 處理修改稅收起征點(diǎn)
private static boolean setTaxBase()
{
System.out.println("==============更改個稅起征點(diǎn)=====================");
System.out.println("當(dāng)前稅制的起征點(diǎn)為: "+incometax.getBase()+" 請輸入新的起征點(diǎn)");
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;
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -