java - 如何避免Java中的无限循环

标签 java while-loop

我怎样才能重新编写这个,这样我就不会使用 while(true) 循环? 我需要该方法来打破 while 循环的条件,但我似乎无法解决它。

ArrayList<Account> accounts = new ArrayList<Account>();

public void enterCustomers()
{
   System.out.println("Enter customer names or q to quit entering names");

   while(true)
    {
        Scanner scan = new Scanner(System.in);                          //find alternative to while true

        System.out.print("Enter a customer name: ");
        String name = scan.nextLine();

        if(name.equalsIgnoreCase("q"))
        {
            break;
        }

        System.out.print("Enter openning balance: ");
        Double balance = scan.nextDouble();

        Account a = new Account(name, balance);
        accounts.add(a);}
}

最佳答案

我认为解决此问题的最简单方法是将 while 循环的条件设置为与 if 条件相反的条件,如下所示:

ArrayList<Account> accounts = new ArrayList<Account>();

public void enterCustomers()
{
   Scanner scan = new Scanner(System.in);
   System.out.println("Enter customer names or q to quit entering names");
   System.out.println("Enter a customer name:");
   Stirng name = scan.nextLine();

   while(!name.equalsIgnoreCase("q"))
    {     
        System.out.print("Enter openning balance: ");
        Double balance = scan.nextDouble();

        Account a = new Account(name, balance);
        accounts.add(a);            

        System.out.print("Enter a customer name: ");
        name = scan.nextLine();
    }
}

关于java - 如何避免Java中的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52268393/

相关文章:

java - 如何使用带有 Datastax Java 驱动程序的 CQL 向 Cassandra 添加任意列?

java - Log Cat在eclipse、windows下无法正常工作

java - 循环图像,java gui?

java - 在Java中的 `break`循环中使用 `while`语句有什么问题?

php - 使用 while 循环回显 PHP 数组

Java循环问题

java - RabbitMQ Java 客户端 channel 在创建时关闭

java.io.IOException :Bogus chunk size 异常

php - 在 PHP 中循环需要时间, fatal error : Maximum execution time of 120 seconds exceeded in

php - 在 while 循环期间根据值预选择下拉选项