diff --git a/build/classes/java/main/task_1/solution/Main.class b/build/classes/java/main/task_1/solution/Main.class new file mode 100644 index 0000000..0c7e5c0 Binary files /dev/null and b/build/classes/java/main/task_1/solution/Main.class differ diff --git a/build/classes/java/main/task_1/solution/TimeMachine.class b/build/classes/java/main/task_1/solution/TimeMachine.class new file mode 100644 index 0000000..f910414 Binary files /dev/null and b/build/classes/java/main/task_1/solution/TimeMachine.class differ diff --git a/build/classes/java/main/task_1/solution/TimeTravelException.class b/build/classes/java/main/task_1/solution/TimeTravelException.class new file mode 100644 index 0000000..c531cd2 Binary files /dev/null and b/build/classes/java/main/task_1/solution/TimeTravelException.class differ diff --git a/build/classes/java/main/task_1/solution/TimeTraveler.class b/build/classes/java/main/task_1/solution/TimeTraveler.class new file mode 100644 index 0000000..f69aba0 Binary files /dev/null and b/build/classes/java/main/task_1/solution/TimeTraveler.class differ diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin new file mode 100644 index 0000000..f7d18d3 Binary files /dev/null and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/src/main/java/task_1/solution/Main.java b/src/main/java/task_1/solution/Main.java new file mode 100644 index 0000000..1514718 --- /dev/null +++ b/src/main/java/task_1/solution/Main.java @@ -0,0 +1,17 @@ +package task_1.solution; + +public class Main { + public static void main(String[] args) { + TimeMachine timeMachine = new TimeMachine(2023); + + TimeTraveler traveler1 = new TimeTraveler("Travis", 1990, 2100); + TimeTraveler traveler2 = new TimeTraveler("Ja", 1985, 2050); + + try { + timeMachine.travelInTime(traveler1, 2000); + timeMachine.travelInTime(traveler2, 2075); + } catch (TimeTravelException e) { + System.out.println("Произошла ошибка: " + e.getMessage()); + } + } +} diff --git a/src/main/java/task_1/solution/TimeMachine.java b/src/main/java/task_1/solution/TimeMachine.java new file mode 100644 index 0000000..0f70941 --- /dev/null +++ b/src/main/java/task_1/solution/TimeMachine.java @@ -0,0 +1,29 @@ +package task_1.solution; + +public class TimeMachine { + private int currentYear; + private boolean isWorking; + + public TimeMachine(int currentYear) { + this.currentYear = currentYear; + this.isWorking = true; + } + + public void travelInTime(TimeTraveler timeTraveler, int year) throws TimeTravelException { + if (!isWorking) { + throw new TimeTravelException("The time machine is not working at the moment."); + } + + if (year < timeTraveler.getBirthYear()) { + throw new TimeTravelException("The year of travel to the past is less than the year of the traveler's " + + "birth."); + } + + if (year > timeTraveler.getDeathYear()) { + throw new TimeTravelException("The year of the travel into the future is longer than the year of the " + + "traveler's death."); + } + + System.out.println(timeTraveler.getName() + " travels through time in " + year + " year."); + } +} diff --git a/src/main/java/task_1/solution/TimeTravelException.java b/src/main/java/task_1/solution/TimeTravelException.java new file mode 100644 index 0000000..9e8bad4 --- /dev/null +++ b/src/main/java/task_1/solution/TimeTravelException.java @@ -0,0 +1,7 @@ +package task_1.solution; + +public class TimeTravelException extends Exception { + public TimeTravelException(String message) { + super(message); + } +} diff --git a/src/main/java/task_1/solution/TimeTraveler.java b/src/main/java/task_1/solution/TimeTraveler.java new file mode 100644 index 0000000..0571b89 --- /dev/null +++ b/src/main/java/task_1/solution/TimeTraveler.java @@ -0,0 +1,25 @@ +package task_1.solution; + +public class TimeTraveler { + private String name; + private int birthYear; + private int deathYear; + + public TimeTraveler(String name, int birthYear, int deathYear) { + this.name = name; + this.birthYear = birthYear; + this.deathYear = deathYear; + } + + public String getName() { + return name; + } + + public int getBirthYear() { + return birthYear; + } + + public int getDeathYear() { + return deathYear; + } +}