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()); } }
hour = ((hour >= 0 && hour < 24) ? hour:0);, whenhis the parameterhand nothour. Same issue occurs forsecondandminute