Cześć, mam problem z kolejnym zadaniem, trzeba stworzyć kolekcję zegarów (koniecznie musi zawierać obiekt new Clock()), wydrukować ją, a następnie dodać do wcześniej randomowo wygenerowanego zegara jedną minutę i właśnie z dodaniem tej minuty mam problem, ktoś pomoże?
Bo jeżeli chodzi o wydrukowanie za pomocą pętli for, np:
for (Clock item : clockList) {
System.out.println(item.addMinuteToClock());
}
To oczywiście wszystko działa, ale niestety, program ma wydrukować pierwszą listę, zmienić ją o tą minutę i wydrukować ponownie. Na razie mam coś takiego:
import java.time.LocalTime;
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Clock> clockList = Clock.init();
print(clockList);
addMinute(clockList);
System.out.println();
//print(clockList);
}
private static void print(List<Clock> clockList){
for (Clock item : clockList) {
System.out.println(item);
}
}
private static List<Clock> addMinute(List<Clock> clockList) {
for (int i = 0; i < clockList.size(); i++) {
}
return clockList;
}
}
class Clock {
private LocalTime time;
private static final Random random = new Random();
private static List<Clock> clockList = new LinkedList<>();
public Clock(int hour, int minute) {
time = LocalTime.of(hour, minute);
}
public LocalTime addMinuteToTime() {
return time.plusMinutes(1);
}
@Override
public String toString() {
return "Godzina: " + time;
}
public static Clock generateClock() {
int radomHour = random.nextInt(23);
int randomMinute = random.nextInt(59);
return new Clock(radomHour, randomMinute);
}
public static List<Clock> init() {
int radomClocks = random.nextInt(5) + 2;
for (int i = 0; i < radomClocks; i++) {
clockList.add(generateClock());
}
return clockList;
}
}
Da się to uratować?