Будьте добры подробно рассказать, почему тут в первом случае нужен 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;
Это неудачный пример для объяснения. Ден Коновалов прав и по хорошему бы возвращать булевую переменную true или false в случае произошла ли операция (true) или невозможно провернуть операцию так как недостаточно средств (false)
Странная схема. Я бы withdraw в буль переделал. Сперва проверяем, достаточно ли на балансе для снятия средств. Достаточно - пишем об этом и возвращаем True. Нет - опять же пишем об этом и возвращаем False. А положить деньги всегда можно, поэтому просто void. Разве что если усложненная схема и аккаунт может быть заблокирован, но это лучше проверять еще при получении записи банковского аккаунта