网易模拟笔试为什么就是测试不过,输出都正常啊
import java.util.*; public class 个人所得税计算 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int []salay = new int[n+1]; for(int i=0;i<n;i++){ salay[i] = sc.nextInt(); } int taxRate[] = {3,10,20,25,30,35,45}; int salaryRange[] = {5000,5000+3000,5000+12000,5000+25000,5000+35000,5000+55000,5000+80000}; int SIZE =7; int range[] = new int[SIZE+1]; range[0] = 0; for (int i = 1; i < SIZE; i++) { range[i] = range[i - 1] + (salaryRange[i] - salaryRange[i - 1]) * taxRate[i - 1] / 100; } for (int i=0;i<n;i++) { if (salay[i] <= salaryRange[0]) { System.out.println(0); } if(salay[i]>salaryRange[0]&&salay[i]<=salaryRange[1]){ System.out.println(Math.round((salay[i]-salaryRange[0])*3/100)); } if(salay[i]>salaryRange[1]&&salay[i]<=salaryRange[2]){ System.out.println(Math.round(range[1]+(salay[i] - salaryRange[1]) * taxRate[1] / 100)); } if(salay[i]>salaryRange[2]&&salay[i]<=salaryRange[3]){ System.out.println(Math.round(range[2]+(salay[i] - salaryRange[2]) * taxRate[2] / 100)); } if(salay[i]>salaryRange[3]&&salay[i]<=salaryRange[4]){ System.out.println(Math.round(range[3]+(salay[i] - salaryRange[3]) * taxRate[3] / 100)); } if(salay[i]>salaryRange[4]&&salay[i]<=salaryRange[5]){ System.out.println(Math.round(range[4]+(salay[i] - salaryRange[4]) * taxRate[4] / 100)); } if(salay[i]>salaryRange[5]&&salay[i]<=salaryRange[6]){ System.out.println(Math.round(range[5]+(salay[i] - salaryRange[5]) * taxRate[5] / 100)); } if(salay[i]>salaryRange[6]){ System.out.println(Math.round(range[6]+(salay[i] - salaryRange[6]) * taxRate[6] / 100)); } } } }
#网易##笔试题目#