В моем классе Время у меня есть:
public Time(String start_time)
{
time = start_time;
hrs = Integer.parseInt(time.substring(0, 2));
mins = Integer.parseInt(time.substring(3, 5));
secs = Integer.parseInt(time.substring(6, 8));
}
и
public void addHour()
{
hrs = hrs + 1;
}
if (hrs > 23) {
hrs = hrs - 24;
}
prntsecs = String.valueOf(secs);
prntmins = String.valueOf(mins);
prnthrs = String.valueOf(hrs);
if (secs < 10) {
prntsecs = "0" + String.valueOf(secs);
}
if (mins < 10) {
prntmins = "0" + String.valueOf(mins);
}
if (hrs < 10) {
prnthrs = "0" + String.valueOf(hrs);
}
time = prnthrs + ":" + prntmins + ":" + prntsecs;
}
В моем классе Main у меня есть:
Time tstamps[] = new Time[5];
Time a = new Time("09:00:00");
for (int i = 0; i < 5; i++){
tstamps[i] = a;
a.addHour();
}
tstamps[0].printTime();
tstamps[1].printTime();
tstamps[2].printTime();
tstamps[3].printTime();
tstamps[4].printTime();
Я хочу напечатать:
09: 00: 00
10: 00: 00
11: 00: 00
12: 00: 00
13:00:00
Но он печатает:
14: 00: 00
14: 00: 00
14: 00: 00
14:00: 00
14:00:00
Я пытался поиграться с кодом в своем основном классе, но я очень новичок, пожалуйста, помогите мне понять мою ошибку и как ее исправить. ..
Редактировать:
Извините, я до сих пор не совсем понимаю, как это сделать ...
Я пытался последовать вашему совету и сделал это:
Time tstamps[] = new Time[5];
for (int i = 0; i < 5; i++){
Time a = new Time("09:00:00");
for (int j = 1; j < i; j++){
a.addHour();
}
tstamps[i] = a;
}
Но теперь он просто печатает 09:00:00 пять раз вместо 14: 00: 00.
Мои определения полей для класса Time:
public String time;
public String prntsecs;
public String prntmins;
public String prnthrs;
public int hrs;
public int mins;
public int secs;
У меня нет никого для Main класса.
Также, пожалуйста, извините, если я нарушаю какие-либо нормы сообщества, или что-то в этом роде это мой второй раз сообщение опубликовано в StackOverflow.