Я пишу код банкомата, но я столкнулся с простой проблемой (надеюсь), когда я нажимаю на кнопку депозита, появляется новое окно с кнопками (от 0 до 9), которые пользователь вводит желаемую сумму, затем, нажав «отправить», текст в метке анализируется на удвоение, а затем возвращается к методу депозита, который увеличивает баланс (удваивает) на возвращаемую сумму. Проблема в том, что когда пользователь открывает всплывающее окно с депозитом, а затем закрывает его, нажимая кнопку X, строка возвращает нулевой символ, который выдает мне ошибку (NumberFormatException: пустая строка), потому что вы не можете разобрать нулевое значение как удвоенное.
Я попробовал оператор if, если строка имеет значение null, пусть она будет «0», но затем в истории транзакций (массив строк) хранится «Deposit: 0 $», что не соответствует действительности, потому что он не сделал Нажмите кнопку «Отправить» (это нелогично) Поэтому мне нужно знать, как, если строка имеет значение null, возможно, завершить операцию и вернуться к предыдущей сцене, не возвращая никакого значения в метод deposit.
Вот код возврата
String value = labelNum.getText();
if(value == null || value.isEmpty()) { value = ""; }
return Double.valueOf(value);
и это метод, к которому возвращается:
public void setDeposit(double deposit) { balance = balance + deposit; }