хотелось проверить получение параметров на их валидность и выбросить исключение с соответствующим описанием ошибки, для этого как я понимаю нужно создать метод типа:
private void checkArguments(тут аргументы для проверки)
и в методе с кодом перед работой нужно как-то вызывать этот метод для проверки
public class Cook extends Human {
public Cook() {
super();
}
public Cook (String name) {
super (name);
}
public void cook (ArrayList<Food> fl, String name, Veget veget) {
int rand = new Random().nextInt(4);
Food f = new Food(name);
switch (rand) {
case 0: f.setTaste(Taste.SWEET); break;
case 1: f.setTaste(Taste.SOUR); break;
case 2: f.setTaste(Taste.SALTY); break;
case 3: f.setTaste(Taste.BITTER); break;
}
f.setVeget(veget);
fl.add (fl.size(), f);
}
public void eat(ArrayList<Food> foodList) {
if (!foodList.isEmpty()) {
Food f = foodList.get (foodList.size()-1);
foodList.remove(foodList.size()-1);
Alert alert = new Alert (Alert.AlertType.INFORMATION);
alert.setTitle ("Вкусно!");
alert.setHeaderText(null);
alert.setContentText("Кажется, вкус этого блюда: " + f.tasteToString().toLowerCase()+"\n"+
"Овощ: "+ f.getVeget().vegetableToString().toLowerCase() +", цвет блюда: " + f.getVeget().colorToString().toLowerCase()+"\n"+
"В следующий раз приготовлю вкуснее");
alert.showAndWait();
}
}
}
я понимаю, внутри метода private void checkArguments
нужно проверять на несоответствие. Пример из листа:
private void checkIndex(int index) {
if (index < 0 || index >= this.size) {
throw new IndexOutOfBoundsException("Incorrect index output...");
}
}
как это применить к методу cook
или eat
?
Ну в принципе любые проверки параметров делаются одинаково
void cook(ArrayList<Food> foodArrayList, String ItemName) {
if (foodArrayList == null) {
throw new IllegalArgumentException();
}
// or
Objects.requireNonNull(foodArrayList); // throws NPE if null
Random rand = new Random();
int r = rand.nextInt(Taste.values().length);
Taste t = Taste.values()[r];
Food f = new Food(t, ItemName);
foodArrayList.add(f);
}
Первый метод это проверка до передачи в метод, т.е. еще в источнике - валидация. Второй проверка и регистрация throw. http://sernam.ru/book_java.php?id=45
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как в css сделать так, чтобы высота дочернего блока занимала всю высоту родительского? Высота родительского блока при этом не определена
Столкнулась со следующей проблемой, которую хотелось бы решить лаконичнее в одну строкуНеобходимо чтобы при наведении на пункты меню появлялось...
Да, возможно тупой вопрос, но я новичок