123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import org.aspectj.testing.Tester;
-
- public class SwitchBounds {
-
- static int minZero(int key) {
- switch (key) {
- case Integer.MIN_VALUE:
- return Integer.MIN_VALUE;
- case 0:
- return 0;
- default:
- return key;
- }
- }
-
- static int maxZero(int key) {
- switch (key) {
- case Integer.MAX_VALUE:
- return Integer.MAX_VALUE;
- case 0:
- return 0;
- default:
- return key;
- }
- }
-
- static int minMax(int key) {
- switch (key) {
- case Integer.MIN_VALUE:
- return Integer.MIN_VALUE;
- case Integer.MAX_VALUE:
- return Integer.MAX_VALUE;
- default:
- return key;
- }
- }
-
- static int fiveMins(int key) {
- switch (key) {
- case Integer.MIN_VALUE:
- return Integer.MIN_VALUE;
- case (Integer.MIN_VALUE + 1):
- return (Integer.MIN_VALUE + 1);
- case (Integer.MIN_VALUE + 2):
- return (Integer.MIN_VALUE + 2);
- case (Integer.MIN_VALUE + 3):
- return (Integer.MIN_VALUE + 3);
- case (Integer.MIN_VALUE + 4):
- return (Integer.MIN_VALUE + 4);
- case (Integer.MIN_VALUE + 5):
- return (Integer.MIN_VALUE + 5);
- default:
- return key;
- }
- }
-
- public static void main(String[] args) {
- int MIN = Integer.MIN_VALUE;
- int MAX = Integer.MAX_VALUE;
-
- Tester.checkEqual(MIN, minZero(MIN));
- Tester.checkEqual(0, minZero(0));
- Tester.checkEqual(37, minZero(37));
-
- Tester.checkEqual(MAX, maxZero(MAX));
- Tester.checkEqual(0, maxZero(0));
- Tester.checkEqual(37, maxZero(37));
-
- Tester.checkEqual(MIN, minMax(MIN));
- Tester.checkEqual(MAX, minMax(MAX));
- Tester.checkEqual(37, minMax(37));
-
- Tester.checkEqual(MIN, fiveMins(MIN));
- Tester.checkEqual(MIN + 1, fiveMins(MIN + 1));
- Tester.checkEqual(MIN + 2, fiveMins(MIN + 2));
- Tester.checkEqual(MIN + 3, fiveMins(MIN + 3));
- Tester.checkEqual(MIN + 4, fiveMins(MIN + 4));
- Tester.checkEqual(MIN + 5, fiveMins(MIN + 5));
- Tester.checkEqual(MIN + 37, fiveMins(MIN + 37));
- }
- }
|