You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SwitchBounds.java 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import org.aspectj.testing.Tester;
  2. public class SwitchBounds {
  3. static int minZero(int key) {
  4. switch (key) {
  5. case Integer.MIN_VALUE:
  6. return Integer.MIN_VALUE;
  7. case 0:
  8. return 0;
  9. default:
  10. return key;
  11. }
  12. }
  13. static int maxZero(int key) {
  14. switch (key) {
  15. case Integer.MAX_VALUE:
  16. return Integer.MAX_VALUE;
  17. case 0:
  18. return 0;
  19. default:
  20. return key;
  21. }
  22. }
  23. static int minMax(int key) {
  24. switch (key) {
  25. case Integer.MIN_VALUE:
  26. return Integer.MIN_VALUE;
  27. case Integer.MAX_VALUE:
  28. return Integer.MAX_VALUE;
  29. default:
  30. return key;
  31. }
  32. }
  33. static int fiveMins(int key) {
  34. switch (key) {
  35. case Integer.MIN_VALUE:
  36. return Integer.MIN_VALUE;
  37. case (Integer.MIN_VALUE + 1):
  38. return (Integer.MIN_VALUE + 1);
  39. case (Integer.MIN_VALUE + 2):
  40. return (Integer.MIN_VALUE + 2);
  41. case (Integer.MIN_VALUE + 3):
  42. return (Integer.MIN_VALUE + 3);
  43. case (Integer.MIN_VALUE + 4):
  44. return (Integer.MIN_VALUE + 4);
  45. case (Integer.MIN_VALUE + 5):
  46. return (Integer.MIN_VALUE + 5);
  47. default:
  48. return key;
  49. }
  50. }
  51. public static void main(String[] args) {
  52. int MIN = Integer.MIN_VALUE;
  53. int MAX = Integer.MAX_VALUE;
  54. Tester.checkEqual(MIN, minZero(MIN));
  55. Tester.checkEqual(0, minZero(0));
  56. Tester.checkEqual(37, minZero(37));
  57. Tester.checkEqual(MAX, maxZero(MAX));
  58. Tester.checkEqual(0, maxZero(0));
  59. Tester.checkEqual(37, maxZero(37));
  60. Tester.checkEqual(MIN, minMax(MIN));
  61. Tester.checkEqual(MAX, minMax(MAX));
  62. Tester.checkEqual(37, minMax(37));
  63. Tester.checkEqual(MIN, fiveMins(MIN));
  64. Tester.checkEqual(MIN + 1, fiveMins(MIN + 1));
  65. Tester.checkEqual(MIN + 2, fiveMins(MIN + 2));
  66. Tester.checkEqual(MIN + 3, fiveMins(MIN + 3));
  67. Tester.checkEqual(MIN + 4, fiveMins(MIN + 4));
  68. Tester.checkEqual(MIN + 5, fiveMins(MIN + 5));
  69. Tester.checkEqual(MIN + 37, fiveMins(MIN + 37));
  70. }
  71. }