Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added build/classes/java/main/task_1/Task1.class
Binary file not shown.
Binary file added build/classes/java/main/task_1/TimeMachine.class
Binary file not shown.
Binary file not shown.
Binary file added build/classes/java/main/task_1/TimeTraveler.class
Binary file not shown.
Binary file added build/tmp/compileJava/previous-compilation-data.bin
Binary file not shown.
36 changes: 36 additions & 0 deletions src/main/java/task_1/Task1.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package task_1;

public class Task1 {
public static void main(String[] args) {
TimeMachine tm = new TimeMachine(2023,true);
TimeMachine tmTest = new TimeMachine(202,false);
TimeTraveler traveler1 = new TimeTraveler("Ignat", 1990, 2100);
TimeTraveler traveler2 = new TimeTraveler("Jesus", 0, 33);
TimeTraveler traveler3 = new TimeTraveler("Igor", 1500, 1504);

try {
tm.traveInTime(traveler1, 2000);
} catch (TimeTravelException e) {
System.out.println(e);
}

try {
tm.traveInTime(traveler2, 4000);
} catch (TimeTravelException e) {
System.out.println(e);
}

try {
tm.traveInTime(traveler3, 1300);
} catch (TimeTravelException e) {
System.out.println(e);
}

try {
tmTest.traveInTime(traveler2, 200);
} catch (TimeTravelException e) {
System.out.println(e);
}

}
}
25 changes: 25 additions & 0 deletions src/main/java/task_1/TimeMachine.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package task_1;

class TimeMachine {
int currentYear;
boolean isWorking;

TimeMachine(int currentYear, boolean isWorking) {
this.currentYear = currentYear;
this.isWorking = isWorking;
}
public void traveInTime(TimeTraveler traveler, int inYear){
if (!isWorking) {
throw new TimeTravelException("The Time Machine does not working :(");
} else {
if (traveler.birthYear > inYear) {
throw new TimeTravelException("This year " + traveler.name + " has not yet been born. His year of birth is " + traveler.birthYear);
} else if (traveler.deathYear < inYear) {
throw new TimeTravelException("This year " + traveler.name +" is already dead. His year of death is " + traveler.deathYear);
} else {
System.out.println(traveler.name + " was moved from " + currentYear + " to " + inYear);
currentYear = inYear;
}
}
}
}
7 changes: 7 additions & 0 deletions src/main/java/task_1/TimeTravelException.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package task_1;

public class TimeTravelException extends RuntimeException {
public TimeTravelException(String message) {
super(message);
}
}
14 changes: 14 additions & 0 deletions src/main/java/task_1/TimeTraveler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package task_1;

class TimeTraveler {
String name;
int birthYear;
int deathYear;

TimeTraveler(String name, int birthYear, int deathYear) {
this.name = name;
this.birthYear = birthYear;
this.deathYear = deathYear;

}
}