Java 多執行緒(Java.Thread)-----執行緒休眠(Thread.Sleep)、執行緒禮讓(Thread.Yield)和執行緒阻塞(Thread.Join)
阿新 • • 發佈:2020-12-14
技術標籤:C語言
計算稅率
美國聯邦個人所得稅是根據申報情況和應納稅所得額計算的。有四種申報情況:單身申報、已婚聯合申報、已婚單獨申報、戶主申報。稅率每年都不一樣。下表即為假定稅率計算方法,例如,某人單身申報,應納稅收入為$10,000,則計算方法為:$8,350的部分按10%計稅,剩餘的$1,650的部分按15%計稅,因此其應繳稅額為:$8,350×10%+$1,650×15%=$1,082.5。
你要寫一個計算個人所得稅的程式。程式應該首先輸入申報狀態和應納稅所得額並計算稅款。其中,輸入申報狀態用整型數表示,0表示單身申報,1表示已婚聯合申報,2表示已婚單獨申報,3表示戶主申報。應納稅所得金額用實型數表示。下表為具體的稅率。
輸入格式:
請在一行中輸入申報情況和應納稅收入金額,其中,輸入申報情況用整型數表示,正確取值範圍為03;應納稅金額為實型數,正確取值範圍為0+∞。
輸出格式:
(1)當輸入資料合法時,輸出應納稅金額,實型數; (2)當輸入資料非法時,輸出字串“Wrong Format”
輸入樣例1:
在這裡給出一組輸入。例如:
0 0
輸出樣例1:
在這裡給出相應的輸出。例如:
0.0
輸入樣例2:
在這裡給出一組輸入。例如:
0 100000
輸出樣例2:
在這裡給出相應的輸出。例如:
21720.0
輸入樣例3:
在這裡給出一組輸入。例如:
5 100000
輸出樣例3:
在這裡給出相應的輸出。例如:
Wrong Format
程式碼如下(嘻嘻嘻!不用謝):
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO 自動生成的方法存根 Scanner in =new Scanner(System.in); float a=in.nextInt(); float b=in.nextInt(); float c = 0.0f; if(a==0) { if(b<=8350) c=(float) (b*0.1); else if(b<=33950) c=(float) (835+(b-8350)*0.15); else if(b<=82250) c=(float) (4675+(b-33951)*0.25); else if(b<=171550) c=(float) (16750+(b-82251)*0.28); else if(b<=372950) c=(float) (41754+(b-171551)*0.33); else c=(float) (108216+(b-372951)*0.35); System.out.printf("%.1f",c); } else if(a==1) { if(b<=16700) c=(float) (b*0.1); else if(b<=67900) c=(float) (1670+(b-16701)*0.15); else if(b<=137050) c=(float) (9350+(b-67901)*0.25); else if(b<=208850) c=(float) (26637+(b-137051)*0.28); else if(b<=372950) c=(float) (46740+(b-208851)*0.33); else c=(float) (100893+(b-372951)*0.35); System.out.printf("%.1f",c); } else if(a==2) { if(b<=8350) c=(float) (b*0.1); else if(b<=33950) c=(float) (835+(b-8350)*0.15); else if(b<=68525) c=(float) (4675+(b-33951)*0.25); else if(b<=104425) c=(float) (13319+(b-68525)*0.28); else if(b<=186475) c=(float) (23371+(b-104426)*0.33); else c=(float) (50448+(b-186476)*0.35); System.out.printf("%.1f",c); } else if(a==3) { if(b<=11950) c=(float) (b*0.1); else if(b<=45500) c=(float) (1195+(b-11951)*0.15); else if(b<=117450) c=(float) (6227+(b-45501)*0.25); else if(b<=190220) c=(float) (24214+(b-117451)*0.28); else if(b<=372950) c=(float) (44584+(b-190201)*0.33); else c=(float) (104891+(b-186476)*0.35); System.out.printf("%.1f",c); } else { System.out.printf("Wrong Format"); } } }