Add: a5 close #9
This commit is contained in:
71
assignment5/Question5/Train.java
Normal file
71
assignment5/Question5/Train.java
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Author: CHEN Yongyuan (Walter) 1930006025 from OOP(1007)
|
||||
* Date: 2022-04-24
|
||||
* Description: Train class inherited from Vehicle class
|
||||
*/
|
||||
|
||||
public class Train extends Vehicle {
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param speedLimit the speed limit of the train
|
||||
* @param speed the speed of the train
|
||||
* @throws BadSpeedSetting
|
||||
*/
|
||||
public Train(int speedLimit, int speed) throws BadSpeedSetting {
|
||||
super(speedLimit, speed);
|
||||
}
|
||||
|
||||
/**
|
||||
* Train can not fly.
|
||||
*
|
||||
* @return false
|
||||
*/
|
||||
@Override
|
||||
public boolean canFly() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tain speed can not be changed.
|
||||
*
|
||||
* @throws TrainSpeedChange
|
||||
*/
|
||||
@Override
|
||||
public int accelerate(int amount) throws TrainSpeedChange {
|
||||
throw new TrainSpeedChange("Do not try to accelerate or decelerate the train!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Test.
|
||||
*/
|
||||
public static void testTrain() {
|
||||
try {
|
||||
Train train;
|
||||
try {
|
||||
train = new Train(-1, -1);
|
||||
} catch (BadSpeedSetting e) {
|
||||
System.out.println(e.getMessage().equals("Speed cannot be negative!"));
|
||||
}
|
||||
try {
|
||||
train = new Train(100, -1);
|
||||
} catch (BadSpeedSetting e) {
|
||||
System.out.println(e.getMessage().equals("Speed cannot be negative!"));
|
||||
}
|
||||
try {
|
||||
train = new Train(100, 101);
|
||||
} catch (BadSpeedSetting e) {
|
||||
System.out.println(e.getMessage().equals("Speed cannot be greater than speed limit!"));
|
||||
}
|
||||
train = new Train(100, 50);
|
||||
System.out.println(train.getSpeed() == 50);
|
||||
try {
|
||||
train.accelerate(1);
|
||||
} catch (TrainSpeedChange e) {
|
||||
System.out.println(e.getMessage().equals("Do not try to accelerate or decelerate the train!"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error: uncaught exception " + e.getClass() + ": " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user