Новичок в Java застрял на принятие решений в Java
Я создал класс с именем Bicycle, и теперь я хочу ограничить передачу своего велосипеда до 6. Значение больше 6 выдаст ошибку, и на экране появится сообщение:
System.out.println "Ошибка...!! Пожалуйста, введите число от 1 до 6".
Может кто-нибудь сказать мне, что нужно сделать, чтобы получить желаемый результат в указанной ниже программе? И для принятия решений в Java, где я должен объявить условие, чтобы оно выполнялось?
public class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) { speed = speed + increment; }
void applyBrakes(int decrement) { speed = speed - decrement;}
void printStates() {
System.out.println("cadence:" + cadence + " speed:" + speed + " gear:" + gear);
}
void vehicleType() {
System.out.println("Vehicle Type: Bicycle");
}
}
class BicycleDemo {
public static void main(String[] args) {
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
bike1.changeCadence(50);
bike1.applyBrakes(0);
bike1.changeGear(1);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(20);
bike2.changeGear(4);
bike2.printStates();
}
}
2 ответа
+ Изменить
void changeGear(int newValue) {
gear = newValue;
}
к
void changeGear(int newValue) {
if (newValue < 1 || newValue > 6) {
System.out.println("Error...!! Please enter a number between 1-6");
} else {
gear = newValue;
}
}
void changeGear(int newValue) {
if(newValue < 1 || newValue > 6)
throw new IllegalArgumentException("Please, enter a number between 1-6");
else gear = newValue;
}
или же
void changeGear(int newValue) {
if(newValue < 1 || newValue > 6)
System.out.println("Please, enter a number between 1-6");
else gear = newValue;
}
Вы можете либо выбросить исключение, которое является действительной ошибкой, либо просто выполнить свой код и распечатать сообщение на консоли, с той лишь разницей, что исключение останавливает все дальнейшее выполнение после выполнения условия (зависит от вашей логики). Но это в значительной степени то, что aconnelly
уже упоминалось.