我怎样才能重新编写这个,这样我就不会使用 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/