When I run this program, it returns:
00:00:00
00:00:00
00:00:00
00:00:00
What am I doing wrong and how can I get it to return the numbers I intended to return?
This is the code in my main class.
public static void main(String[] args) {
tuna tunaObject1 = new tuna();
tuna tunaObject2 = new tuna(5);
tuna tunaObject3 = new tuna(5, 13);
tuna tunaObject4 = new tuna(5, 13, 43);
System.out.println(tunaObject1.toMilitary());
System.out.println(tunaObject2.toMilitary());
System.out.println(tunaObject3.toMilitary());
System.out.println(tunaObject4.toMilitary());
}
}
This is my code in the class outside the main one.
public class tuna {
private int hour;
private int minute;
private int second;
public tuna() {
this(0, 0, 0);
}
public tuna(int h) {
this(h, 0, 0);
}
public tuna(int h, int m) {
this(h, m, 0);
}
public tuna(int h, int m, int s) {
setTime(h, m, s);
}
public void setTime(int h, int m, int s) {
setHour(h);
setMinute(m);
setSecond(s);
}
public void setHour(int h) {
hour = ((hour >= 0 && hour < 24) ? hour:0);
}
public void setMinute(int m) {
minute = ((minute >= 0 && minute < 60) ? minute:0);
}
public void setSecond(int s) {
second = ((second >= 0 && second < 60) ? second:0);
}
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public int getSecond() {
return second;
}
public String toMilitary() {
return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond());
}
}