Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @(#)FinalExamJG.java
- *
- * FinalExamJG application
- *
- * @author
- * @version 1.00 2019/6/11
- */
- public class FinalExamJG {
- int finalExamIDNum;
- int month;
- boolean Leap;
- int day;
- int year;
- public FinalExamJG(int IDNum, int mon, int d, int y) {
- // Assigns ID num
- if (IDNum < 2000)
- finalExamIDNum = 22;
- else
- finalExamIDNum = IDNum;
- // Assigns month
- if ((mon < 1) || (mon > 12)) { // resets month if invalid along with day
- mon = 0;
- day = 0;
- } else
- month = mon;
- // Assigns Day
- if ((d < 1) || (d > 31))
- day = 0;
- else
- day = d;
- // assigns year
- if ((y < 2011) || (y > 2019))
- year = 0;
- else
- year = y;
- // Calculates when it's a leap year
- if (year % 4 == 0) {
- Leap = true;
- /* if (month == 2) { //Old leap year february code
- if (day > 29) {
- day = 29;
- }
- }
- }*/
- } else { // New leap year code
- Leap = false;
- }
- switch (month) {
- case 1:
- if (day > 31) // Limit days per month
- day = 31;
- break;
- case 2:
- if (Leap == true) {
- if (day > 29)
- day = 29;
- } else if (day > 28) {
- day = 28;
- } // completed leap year code
- break;
- case 3:
- if (day > 31)
- day = 31;
- break;
- case 4:
- if (day > 30)
- day = 30;
- break;
- case 5:
- if (day > 31)
- day = 31;
- break;
- case 6:
- if (day > 30)
- day = 30;
- break;
- case 7:
- if (day > 31)
- day = 31;
- break;
- case 8:
- if (day > 31)
- day = 31;
- break;
- case 9:
- if (day > 30)
- day = 30;
- break;
- case 10:
- if (day > 31)
- day = 31;
- break;
- case 11:
- if (day > 30)
- day = 30;
- break;
- case 12:
- if (day > 31)
- day = 31;
- break;
- default:
- System.out.println("Invalid month, Restart & try again");
- }
- }
- }
- ==============================================================
- public class TestFinalExamJG {
- public static void main(String[] args) {
- FinalExamJG t1 = new FinalExamJG(1999,2,29,2016); // Proves Leap year gets detected, IDNum
- FinalExamJG t2 = new FinalExamJG(2001, 2, 29,2019); // Further proves leap year, IDNum
- FinalExamJG t3 = new FinalExamJG(2001, 3, 32, 2021); // Day and year resets to 0
- FinalExamJG t4 = new FinalExamJG(2001, 13, 12, 2019); // Month cap resets to 0
- System.out.println(t1.finalExamIDNum + " " + t1.month + " " + t1.day + " " + t1.year);
- System.out.println(t2.finalExamIDNum + " " + t2.month + " " + t2.day + " " + t2.year);
- System.out.println(t3.finalExamIDNum + " " + t3.month + " " + t3.day + " " + t3.year);
- System.out.println(t4.finalExamIDNum + " " + t4.month + " " + t4.day + " " + t4.year);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement