首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >银行账户计划

银行账户计划
EN

Stack Overflow用户
提问于 2013-10-09 22:49:30
回答 3查看 11.4K关注 0票数 7

我正在制作一个模拟银行交易的程序。我必须询问用户是否要存款、取款或转账。

当我存入某个金额(例如1000)时,系统会显示我的余额为1000。然后我要求取一个像400这样的数字,它说我的余额是-400。经过这一切之后,我想也许我必须检查一下我的余额,然后它会给我应该是600的正确余额,但它显示的是0。例如,请参阅下面的文字记录:

我在想,因为在我的代码中(如下所示),我将余额设为=0,但如果我去掉=0并尝试运行程序,它会显示需要初始化。

我被卡住了,我想把它弄清楚。请不要发布已更正的整个代码。我想自己修复它并学习!

代码语言:javascript
复制
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!");

    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-09 22:51:52

每次执行do{...} while{...}时,您都在设置balance=0。你应该把它从循环中拿出来。

代码语言:javascript
复制
double balance = 0;

do{
...
票数 10
EN

Stack Overflow用户

发布于 2013-10-09 22:52:06

您在do循环中将balance初始化为0,因此每次循环都将其重置为零。

将balance =0行移动到while循环的上方。

票数 3
EN

Stack Overflow用户

发布于 2013-10-09 22:53:19

每次运行循环时,都将balance设置为0。将此代码移到do循环之外:

代码语言:javascript
复制
double balance = 0;
double amount;
do {
    /* code */
} while(num != 4);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19275389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档