Вопрос Java, объясните, пожалуйста, return на этом примере (

Регистрация
30 Май 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Будьте добры подробно рассказать, почему тут в первом случае нужен void, а во втором return.
Это CodeAcademy, я убираю return и программа работает абсолютно также. Якобы в первом случае я должен вносить деньги, а во втором забирать.

public void deposit(int amountToDeposit){
balance = amountToDeposit + balance;
System.out.println("You just deposited "+ amountToDeposit);

}

public int withdraw(int amountToWithdraw){
balance = balance - amountToWithdraw;
System.out.println("You just withdrew "+ amountToWithdraw);
return amountToWithdraw;

}
 
Функция при помощи return возвращает значение в точку, где она была вызвана. Пример: double result = sin(a) + cos(a); Где sin и cos это функции.
 
Это неудачный пример для объяснения. Ден Коновалов прав и по хорошему бы возвращать булевую переменную true или false в случае произошла ли операция (true) или невозможно провернуть операцию так как недостаточно средств (false)
 
Странная схема. Я бы withdraw в буль переделал. Сперва проверяем, достаточно ли на балансе для снятия средств. Достаточно - пишем об этом и возвращаем True. Нет - опять же пишем об этом и возвращаем False. А положить деньги всегда можно, поэтому просто void. Разве что если усложненная схема и аккаунт может быть заблокирован, но это лучше проверять еще при получении записи банковского аккаунта
 
Вот тебе пример на псевдокоде: void Main(){ int money = продаюБутылкуВодки (); Print(money) покажет 50. } int продаюБутылкуВодки (){ Return 50; }
 
Назад
Сверху