-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDate.java
57 lines (54 loc) · 1.46 KB
/
Date.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.io.*;
public class Date implements Serializable{
private String day;
private String month;
private String year;
private boolean hasYear = false;
Date(int d, int m, int y) throws Exception{
setDay(d);
setMonth(m);
setYear(y);
}
Date(int d, int m){
setDay(d);
setMonth(m);
}
Date(){
day = "00";
month = "00";
}
void setDay(int d){
if(d<=0 || d>31) throw new IllegalArgumentException("Invalid day input.");
if(d<10) day = "0"+d;
else day = ""+d;
}
void setMonth(int m){
if(m<=0 || m>12) throw new IllegalArgumentException("Invalid month input.");
String monthString;
switch (m) {
case 1: monthString = "January"; break;
case 2: monthString = "February"; break;
case 3: monthString = "March"; break;
case 4: monthString = "April"; break;
case 5: monthString = "May"; break;
case 6: monthString = "June"; break;
case 7: monthString = "July"; break;
case 8: monthString = "August"; break;
case 9: monthString = "September"; break;
case 10: monthString = "October"; break;
case 11: monthString = "November"; break;
case 12: monthString = "December"; break;
default: monthString = "N/A";
break;
}
month = monthString;
}
void setYear(int y){
year = ""+y;
hasYear = true;
}
public String toString(){
if(hasYear) return day+"/"+month+"/"+year;
else return day+"/"+month;
}
}