循环或打印收据

Looping or printing a receipt

好吧,我有这个程序,我想打印牙医办公室的收据。就像现在一样,您输入一个数字,成本就会相应地打印出来。但是,我希望能够在程序中输入多个数字,当我键入“-1”时,我希望程序停止并打印总成本。看看:

import java.util.Scanner;
public class DentistReception{
public static void main(String[] args) {
double cost = 0;
int treatment = 0;


final double checkUp = 60.00;
final double cleaning = 30.00;
final double cavity = 150.00;

Scanner input = new Scanner(System.in); 
System.out.println("What service(s) will be done?: ");
System.out.println("Checkup: 1");
System.out.println("Cleaning: 2");
System.out.println("Cavity: 3");
System.out.println("Exit: -1");
treatment = input.nextInt();

{

  if (treatment == 1) {
  cost = cost + checkUp;
}
else {
  if (treatment == 2) {
  cost = cost + cleaning;
}
else {
  if (treatment == 3) {
  cost = cost + cavity;
  }
  else {
    while (treatment < 0) break;
  
  }
}
}
}


System.out.println("Total cost it:"+cost);



  }
}

我希望它循环播放直到我输入“-1”,但中断似乎不是它想要的。每当我将 while 或 break 放在其他地方时,我都会收到消息“break without loop”或类似的消息。

使用 while 并使用布尔变量捕获选项

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        double cost = 0;
        int treatment = 0;

        final double checkUp = 60.00;
        final double cleaning = 30.00;
        final double cavity = 150.00;

        boolean repeat = true;
        while (repeat) {
            Scanner input = new Scanner(System.in);
            System.out.println("What service(s) will be done?: ");
            System.out.println("Checkup: 1");
            System.out.println("Cleaning: 2");
            System.out.println("Cavity: 3");
            System.out.println("Exit: -1");
            treatment = input.nextInt();
            input.nextLine();
            switch (treatment) {
                case 1:
                    cost = cost + checkUp;
                    break;
                case 2:
                    cost = cost + cleaning;
                    break;
                case 3:
                    cost = cost + cavity;
                    break;
                default:
                    System.out.println("do you want to break out the loop?");
                    String ans = input.nextLine();
                    if (ans.equals("y")){
                        System.out.println("exiting...");
                        repeat = false;
                    }


                    break;
            }
            // if (treatment == 1) {
            // cost = cost + checkUp;
            // } else {
            // if (treatment == 2) {
            // cost = cost + cleaning;
            // } else {
            // if (treatment == 3) {
            // cost = cost + cavity;
            // } else {
            // while (treatment < 0)
            // break;

            // }
            // }
            // }
        }

        System.out.println("Total cost it:" + cost);

    }
}