Advertisement
Guest User

Untitled

a guest
Jun 12th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. /**
  2. * @(#)FinalExamJG.java
  3. *
  4. * FinalExamJG application
  5. *
  6. * @author
  7. * @version 1.00 2019/6/11
  8. */
  9.  
  10. public class FinalExamJG {
  11. int finalExamIDNum;
  12. int month;
  13. boolean Leap;
  14. int day;
  15. int year;
  16.  
  17. public FinalExamJG(int IDNum, int mon, int d, int y) {
  18. // Assigns ID num
  19. if (IDNum < 2000)
  20. finalExamIDNum = 22;
  21. else
  22. finalExamIDNum = IDNum;
  23.  
  24. // Assigns month
  25. if ((mon < 1) || (mon > 12)) { // resets month if invalid along with day
  26. mon = 0;
  27. day = 0;
  28. } else
  29. month = mon;
  30. // Assigns Day
  31. if ((d < 1) || (d > 31))
  32. day = 0;
  33. else
  34. day = d;
  35.  
  36. // assigns year
  37. if ((y < 2011) || (y > 2019))
  38. year = 0;
  39. else
  40. year = y;
  41.  
  42. // Calculates when it's a leap year
  43. if (year % 4 == 0) {
  44. Leap = true;
  45. /* if (month == 2) { //Old leap year february code
  46. if (day > 29) {
  47. day = 29;
  48. }
  49. }
  50. }*/
  51. } else { // New leap year code
  52. Leap = false;
  53. }
  54. switch (month) {
  55. case 1:
  56. if (day > 31) // Limit days per month
  57. day = 31;
  58. break;
  59. case 2:
  60. if (Leap == true) {
  61. if (day > 29)
  62. day = 29;
  63. } else if (day > 28) {
  64. day = 28;
  65. } // completed leap year code
  66. break;
  67. case 3:
  68. if (day > 31)
  69. day = 31;
  70. break;
  71. case 4:
  72. if (day > 30)
  73. day = 30;
  74. break;
  75. case 5:
  76. if (day > 31)
  77. day = 31;
  78. break;
  79. case 6:
  80. if (day > 30)
  81. day = 30;
  82. break;
  83. case 7:
  84. if (day > 31)
  85. day = 31;
  86.  
  87. break;
  88. case 8:
  89. if (day > 31)
  90. day = 31;
  91. break;
  92. case 9:
  93. if (day > 30)
  94. day = 30;
  95. break;
  96. case 10:
  97. if (day > 31)
  98. day = 31;
  99. break;
  100. case 11:
  101. if (day > 30)
  102. day = 30;
  103. break;
  104. case 12:
  105. if (day > 31)
  106. day = 31;
  107. break;
  108. default:
  109. System.out.println("Invalid month, Restart & try again");
  110. }
  111. }
  112. }
  113. ==============================================================
  114. public class TestFinalExamJG {
  115. public static void main(String[] args) {
  116. FinalExamJG t1 = new FinalExamJG(1999,2,29,2016); // Proves Leap year gets detected, IDNum
  117. FinalExamJG t2 = new FinalExamJG(2001, 2, 29,2019); // Further proves leap year, IDNum
  118. FinalExamJG t3 = new FinalExamJG(2001, 3, 32, 2021); // Day and year resets to 0
  119. FinalExamJG t4 = new FinalExamJG(2001, 13, 12, 2019); // Month cap resets to 0
  120.  
  121. System.out.println(t1.finalExamIDNum + " " + t1.month + " " + t1.day + " " + t1.year);
  122. System.out.println(t2.finalExamIDNum + " " + t2.month + " " + t2.day + " " + t2.year);
  123. System.out.println(t3.finalExamIDNum + " " + t3.month + " " + t3.day + " " + t3.year);
  124. System.out.println(t4.finalExamIDNum + " " + t4.month + " " + t4.day + " " + t4.year);
  125. }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement