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

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

Регистрация
30 Май 2013
Сообщения
85
Репутация
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;

}
 
Регистрация
31 Июл 2013
Сообщения
110
Репутация
0
Спасибо
0
Монет
0
Это неудачный пример для объяснения. Ден Коновалов прав и по хорошему бы возвращать булевую переменную true или false в случае произошла ли операция (true) или невозможно провернуть операцию так как недостаточно средств (false)
 
Регистрация
12 Дек 2013
Сообщения
98
Репутация
1
Спасибо
0
Монет
0
Странная схема. Я бы withdraw в буль переделал. Сперва проверяем, достаточно ли на балансе для снятия средств. Достаточно - пишем об этом и возвращаем True. Нет - опять же пишем об этом и возвращаем False. А положить деньги всегда можно, поэтому просто void. Разве что если усложненная схема и аккаунт может быть заблокирован, но это лучше проверять еще при получении записи банковского аккаунта
 
Регистрация
28 Сен 2013
Сообщения
99
Репутация
0
Спасибо
0
Монет
0
Вот тебе пример на псевдокоде: void Main(){ int money = продаюБутылкуВодки (); Print(money) покажет 50. } int продаюБутылкуВодки (){ Return 50; }
 
Сверху Снизу