如何使用用户输入退出循环?

How to exit loops with user input?

我如何通过用户命令退出此 do while 循环,以便程序停止要求更多用户输入?我试图在网上找到答案,但 none 我尝试过的解决方案对我有用。这是我的代码:

public double setExpenses() {
    double total = 0;
    Scanner expense = new Scanner(System.in);

    System.out.println("Enter Expenses: ");

    while (!expense.hasNextDouble()) {
        System.out.println("Invalid Data Type. Please enter a numerical value.");       //to prevent data types different from doubles
        expense.next();
    }
    finished:
    do {                                                            //supposed to continue asking for user input to add together...but how to end the loop?
        double Expense = expense.nextDouble();      
        total += Expense;                                                           //adds user input together to total
        System.out.println("Total Expenses so far: $" + total);

        while (!expense.hasNextDouble()) {
            if(expense.equals("done")) {                    //breaks loop if the user types "done"? idk if this is right.
                break finished;
            }
            System.out.println("Invalid Data Type. Please enter a numerical value.");
            expense.next();
        }

    }while (expense.hasNextDouble());
    return total;
}

我认为这里的代码:

if(expense.equals("done")) {//breaks loop if the user types "done"? idk if this is right.
      break finished;
}

应更改为:

 if(expense.next().equals("done")) { //breaks loop if the user types "done"? idk if this is right.
                break finished;
 }

原因是您会得到字符串值 "done" 但您使用扫描仪"expense" 进行比较。

希望对您有所帮助!