package lab15_observer.ex2; public class AnalogTimer implements TimerObserver { private final MyTimer timer; private static final String[][] digits = { { "┌─┐", "│ │", "└─┘" }, { " ╷", " │", " ╵" }, { "╶─┐", "┌─┘", "└─╴" }, { "╶─┐", " ─┤", "╶─┘" }, { "╷ ╷", "└─┤", " ╵" }, { "┌─╴", "└─┐", "╶─┘" }, { "┌─╴", "├─┐", "└─┘" }, { "╶─┐", " │", " ╵" }, { "┌─┐", "├─┤", "└─┘" }, { "┌─┐", "└─┤", "╶─┘" }, }; public AnalogTimer(MyTimer timer) { this.timer = timer; timer.registerObserver(this); } public void update(int hours, int minutes, int seconds) { String[] lines = {"", "", ""}; addDigit(lines, hours / 10); addSpace(lines); addDigit(lines, hours % 10); addSep(lines); addDigit(lines, minutes / 10); addSpace(lines); addDigit(lines, minutes % 10); addSep(lines); addDigit(lines, seconds / 10); addSpace(lines); addDigit(lines, seconds % 10); System.out.println(lines[0]); System.out.println(lines[1]); System.out.println(lines[2]); } private void addDigit(String[] lines, int digit) { String[] parts = digits[digit]; for (int i = 0; i < 3; i++) { lines[i] += parts[i]; } } private void addSpace(String[] lines) { lines[0] += " "; lines[1] += " "; lines[2] += " "; } private void addSep(String[] lines) { lines[0] += " o "; lines[1] += " "; lines[2] += " o "; } }