如何在不退出程序的情况下在do-while循环中添加if语句?

凯恩

我有2节课。该程序几乎可以模拟ATM。用户将要求存款,取款或查看用户银行帐户的余额。

首先将余额设置为零,然后用户可以存入或提取资金。

被调用的第一个类CheckingAccount将具有方法,而没有main方法,而TestCheckingAccount具有main方法。计算时,所有输入和输出都将出现在TestCheckingAccount类中CheckingAccount

如果用户选择存款,则帐户余额将添加到用户要存入其帐户的金额中。类中的getBalance方法CheckingAccount返回用户帐户的余额,同时processDeposit将用户想要的金额添加到存款中,同时processCheck减少用户选择的余额。

如果用户选择查看余额,则它将打印用户余额。

CheckingAccount类

public class CheckingAccount{
    double myBalance = 0;

    public double getBalance(){
        return myBalance;
    }

    public void processDeposit(double amount){
        myBalance += amount;
    }

    public void processCheck(double amount){
        myBalance -= amount;
    }
}

TestCheckingAccount类

import java.util.Scanner;
public class TestCheckingAccount {

public static void main(String[] args) {

    CheckingAccount check = new CheckingAccount();

    Scanner in = new Scanner(System.in);

    String choice;
    double moneyAdded;
    double moneySubtracted;

    do
    {
        System.out.println("Deposit");
        System.out.println("Withdraw");
        System.out.println("Balance");
        System.out.println("Exit");
        System.out.println("**********************************************");
        System.out.println("Which operation would you like to use?");
        choice = in.nextLine();

        if(choice.equalsIgnoreCase("Deposit"))
        {
            System.out.println("How much money would you like to deposit?");
            moneyAdded = in.nextDouble();
            check.processDeposit(moneyAdded);
        }

        if(choice.equalsIgnoreCase("Withdraw"))
        {
            System.out.println("How much money would you like to withdraw?");
            moneySubtracted = in.nextDouble();

            check.processCheck(moneySubtracted);
        }
        else if(choice.equalsIgnoreCase("Balance"))
        {
            System.out.printf("$%.2f%n" , check.myBalance);
        }
        else if(choice.equalsIgnoreCase("Exit"))
        {
            System.exit(0);
        }

    }
    while(choice.equalsIgnoreCase("Deposit")||choice.equalsIgnoreCase("Withdraw")||choice.equalsIgnoreCase("Balance"));

    in.close();

}

}

该程序运行正常,但我遇到的问题是该程序必须询问用户他/她是否要存入,提取或查看余额,直到用户完成并退出该程序。

因此,当程序询问用户是否要存入,提取或查看帐户中的余额时,该部分必须处于循环状态。我把它放在一个do-while循环中。因此,当我运行程序并询问余额时,会打印出余额,然后循环正常,然后程序再次询问他/她是否要提取,存入,查看余额或退出。

但是,当我要求程序提取或存款时,它会运行,但不会循环,而是退出循环。

我如何制作程序以使其可以提取或存款但仍循环并返回菜单,在该菜单中询问用户是否要存入或提取资金而不仅仅是结束循环?

艾略特新鲜

您可以break在“退出”条件下使用无限循环另外,您可以使用try-with-resourcesclose语句关闭Scanner就像是,

try (Scanner in = new Scanner(System.in)) {      
  String choice;
  double moneyAdded;
  double moneySubtracted;

  while (true) {
    System.out.println("Deposit");
    System.out.println("Withdraw");
    System.out.println("Balance");
    System.out.println("Exit");
    System.out.println("**********************************************");
    System.out.println("Which operation would you like to use?");
    choice = in.nextLine();

    if (choice.equalsIgnoreCase("Deposit")) {
      System.out.println("How much money would you like to deposit?");
      moneyAdded = in.nextDouble();
      check.processDeposit(moneyAdded);
    } else if (choice.equalsIgnoreCase("Withdraw")) {
      System.out.println("How much money would you like to withdraw?");
      moneySubtracted = in.nextDouble();
      check.processCheck(moneySubtracted);
    } else if (choice.equalsIgnoreCase("Balance")) {
      System.out.printf("$%.2f%n", check.myBalance);
    } else if (choice.equalsIgnoreCase("Exit")) {
      break;
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Generator在while循环中退出

来自分类Dev

在while循环中添加中断如何解决过载歧义?

来自分类Dev

如何在不退出循环的情况下处理异常?

来自分类Dev

如何在不退出现有循环的情况下安排任务?

来自分类Dev

如何在没有容器对象的情况下在每个循环中呈现视图?

来自分类Dev

如何在不检查空行的情况下在Python中进行while循环直到文件结束?

来自分类Dev

我不知道如何在while循环中放置此if语句

来自分类Dev

如何在不退出程序的情况下退出bash中的if语句?

来自分类Dev

如何在不退出的情况下在Vim编辑器中保存文件

来自分类Dev

如何在do while循环中向文本框添加新值

来自分类Dev

如何在Python 3的while循环中嵌套if语句

来自分类Dev

如何在不退出而导致打印输出的情况下停止while循环而执行此操作?

来自分类Dev

使用ssh,如何在不退出的情况下在远程计算机上运行命令?

来自分类Dev

Do-While循环中的switch语句不会退出

来自分类Dev

如何在不依赖迁移的情况下在Rails应用程序中正确添加新列?

来自分类Dev

如何在不等待整行的情况下在程序输出前添加字符串?

来自分类Dev

如何在执行插入的SQL WHILE循环中避免重复的CASE语句

来自分类Dev

如何在while循环中执行if语句,反之亦然

来自分类Dev

Python:如何在while循环中断之前插入一条语句

来自分类Dev

为什么while循环中的条件语句导致程序永远选择性地暂停?

来自分类Dev

如何在循环中的嵌套if语句中结束while循环?(可能很简单)

来自分类Dev

如何在while循环中在php中添加类?

来自分类Dev

如何在while循环中输入if语句?

来自分类Dev

当在while循环中使用break语句时,Python程序给出错误的输出

来自分类Dev

如何在没有额外键的情况下在循环中创建数组对象?

来自分类Dev

如何将 IF 语句实现到 while 循环中,并使 while 循环无限期地运行?(重击)

来自分类Dev

如何从while循环中添加数字?

来自分类Dev

如何在另一个while循环中使用if else语句

来自分类Dev

如何在 while 循环中创建 if 语句以仅在某些行上执行某些操作?

Related 相关文章

  1. 1

    Generator在while循环中退出

  2. 2

    在while循环中添加中断如何解决过载歧义?

  3. 3

    如何在不退出循环的情况下处理异常?

  4. 4

    如何在不退出现有循环的情况下安排任务?

  5. 5

    如何在没有容器对象的情况下在每个循环中呈现视图?

  6. 6

    如何在不检查空行的情况下在Python中进行while循环直到文件结束?

  7. 7

    我不知道如何在while循环中放置此if语句

  8. 8

    如何在不退出程序的情况下退出bash中的if语句?

  9. 9

    如何在不退出的情况下在Vim编辑器中保存文件

  10. 10

    如何在do while循环中向文本框添加新值

  11. 11

    如何在Python 3的while循环中嵌套if语句

  12. 12

    如何在不退出而导致打印输出的情况下停止while循环而执行此操作?

  13. 13

    使用ssh,如何在不退出的情况下在远程计算机上运行命令?

  14. 14

    Do-While循环中的switch语句不会退出

  15. 15

    如何在不依赖迁移的情况下在Rails应用程序中正确添加新列?

  16. 16

    如何在不等待整行的情况下在程序输出前添加字符串?

  17. 17

    如何在执行插入的SQL WHILE循环中避免重复的CASE语句

  18. 18

    如何在while循环中执行if语句,反之亦然

  19. 19

    Python:如何在while循环中断之前插入一条语句

  20. 20

    为什么while循环中的条件语句导致程序永远选择性地暂停?

  21. 21

    如何在循环中的嵌套if语句中结束while循环?(可能很简单)

  22. 22

    如何在while循环中在php中添加类?

  23. 23

    如何在while循环中输入if语句?

  24. 24

    当在while循环中使用break语句时,Python程序给出错误的输出

  25. 25

    如何在没有额外键的情况下在循环中创建数组对象?

  26. 26

    如何将 IF 语句实现到 while 循环中,并使 while 循环无限期地运行?(重击)

  27. 27

    如何从while循环中添加数字?

  28. 28

    如何在另一个while循环中使用if else语句

  29. 29

    如何在 while 循环中创建 if 语句以仅在某些行上执行某些操作?

热门标签

归档