Я работаю над созданием программы для имитации банковских транзакций. Я должен спросить у пользователя, хотят ли они внести депозит, снятие или передачу.Программа банковского счета
Когда я ввожу определенную сумму (например, 1000), он говорит, что мой баланс равен 1000. Затем я прошу снять номер, равный 400, в котором говорится, что мой баланс равен -400. В конце концов, что я подумал, что я должен проверить свой баланс, а затем он даст мне правильный баланс того, что должно быть 600, но он говорит 0. Например, посмотреть расшифровку:
Я был потому что в моем коде (показан ниже) я сделал баланс = 0, но если я уберу = 0 и попробую запустить программу, он говорит, что ее нужно инициализировать.
Я застреваю, и я хочу понять это. Пожалуйста, не отправляйте весь исправленный код. Я хочу исправить это и научиться!
import java.util.Scanner;
public class BankTransactions {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num;
do {
double balance = 0;
double amount;
System.out.println("Type Number");
System.out.println("1. Deposit");
System.out.println("2. Withdrawal");
System.out.println("3. Balance");
System.out.println("4. Exit");
num = scan.nextInt();
if (num == 1) {
System.out.println("Enter amount to deposit: ");
amount = scan.nextDouble();
// Add the amount to the balance
balance += amount;
System.out.println("Your balance is");
System.out.println(balance);
} else if (num == 2) {
System.out.println("Enter amount to withdrawal: ");
amount = scan.nextDouble();
// Remove the amount from the balance
balance -= amount;
System.out.println("Your balance is");
System.out.println(balance);
} else if (num == 3) {
System.out.println("Your Balance");
System.out.println(balance);
}
} while (num != 4);
System.out.println("Good Bye!");
}
}
Никогда не используйте плавающими типы для представления валюты: http://stackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent -валюта –