UI.java
上传用户:dscysp
上传日期:2021-04-07
资源大小:268k
文件大小:3k
源码类别:

家庭/个人应用

开发平台:

Java

  1. import java.util.*;
  2. /**
  3.  * 用户界面
  4.  * @author 07302260 蒋鹏
  5.  *
  6.  */
  7. public class UI {
  8. private taxSystem taxS = new taxSystem();
  9. private Scanner in = new Scanner(System.in);
  10. public UI()
  11. {
  12. System.out.println("欢迎使用个人所得税计算系统  by cs07A JP");
  13. System.out.println();
  14. System.out.println("系统默认基数及税率表");
  15. showScale();
  16. while(true)
  17. {
  18. System.out.println();
  19. System.out.println("1.计算个人所得税");
  20. System.out.println("2.修改基数及税率表");
  21. System.out.println("3.显示当前基数及税率表");
  22. System.out.println("4.退出");
  23. System.out.println("请选择操作:");
  24. int a = in.nextInt();
  25. switch(a)
  26. {
  27. case 1:
  28. calculateTax();
  29. break;
  30. case 2:
  31. modifyScale();
  32. break;
  33. case 3:
  34. showScale();
  35. break;
  36. case 4:
  37. System.exit(0);
  38. break;
  39. default:
  40. System.out.println("输入错误!");
  41. }
  42. }
  43. }
  44. /**
  45.  * 显示当前基数及税率表
  46.  */
  47. public void showScale()
  48. {
  49. System.out.println("当前基数为:");
  50. System.out.println("RMB "+taxS.taxGetBase()+"");
  51. System.out.println("当前税率表为:");
  52. int n;
  53. n = taxS.taxGetSize();
  54. int i;
  55. for(i=0;i<n;i++)
  56. {
  57. System.out.println(taxS.taxGetScale(i, 0)+" "+taxS.taxGetScale(i, 1));
  58. }
  59. }
  60. /**
  61.  * 计算个人所得税
  62.  */
  63. public void calculateTax()
  64. {
  65. System.out.println();
  66. System.out.println("请输入您的收入:");
  67. System.out.print("RMB ");
  68. int income = in.nextInt();
  69. if (income<0)
  70. {
  71. System.out.println("输入错误,请重新输入");
  72. }
  73. else
  74. {
  75. double tax = taxS.taxSolve(income);
  76. System.out.println();
  77. System.out.println("您所需要缴纳的个人所得税为"+tax+"元");
  78. }
  79. }
  80. /**
  81.  * 修改当前基数及税率表
  82.  */
  83. public void modifyScale()
  84. {
  85. System.out.println();
  86. System.out.println("1.修改基数");
  87. System.out.println("2.修改税率表");
  88. System.out.println("请选择操作:");
  89. int b = in.nextInt();
  90. switch(b)
  91. {
  92. case 1:
  93. System.out.println("请输入新的基数:");
  94. int base = in.nextInt();
  95. taxS.taxSetBase(base);
  96. break;
  97. case 2:
  98. System.out.println("请输入新的税率表(请不要多于20级,从低到高输入,输入-1结束):");
  99. int [][] newtab = new int[10][2];
  100. int newn = 0;
  101. int n = 0;
  102. for(int i=0; i<10; i++)
  103. {
  104. System.out.println("新收入级别起点:");
  105. newtab[i][0]=in.nextInt();
  106. n=newtab[i][0];
  107. if (n==-1)
  108. break;
  109. System.out.println("新收入级别税率(单位%):");
  110. newtab[i][1]=in.nextInt();
  111. newn++;
  112. }
  113. taxS.taxSetScale(newtab, newn);
  114. break;
  115. }
  116. }
  117. }