Loops 循环或打印收据

Loops 循环或打印收据,loops,if-statement,statements,Loops,If Statement,Statements,好的,我有一个程序,我想打印一张牙医办公室的收据。正如现在一样,您输入一个数字,成本将相应地打印出来。但是,我希望能够在程序中输入多个数字,当我键入“-1”时,我希望程序停止并打印总成本。看一看: import java.util.Scanner; public class DentistReception{ public static void main(String[] args) { double cost = 0; int treatment = 0; final double ch

好的,我有一个程序,我想打印一张牙医办公室的收据。正如现在一样,您输入一个数字,成本将相应地打印出来。但是,我希望能够在程序中输入多个数字,当我键入“-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);



  }
}
import java.util.Scanner;
公营牙科{
公共静态void main(字符串[]args){
双倍成本=0;
int处理=0;
最终双重检查=60.00;
最终双重清洗=30.00;
最终双腔=150.00;
扫描仪输入=新扫描仪(System.in);
System.out.println(“将提供什么服务?:”;
System.out.println(“检查:1”);
系统输出打印项次(“清洗:2”);
System.out.println(“空腔:3”);
系统输出打印项次(“出口:-1”);
治疗=输入。nextInt();
{
如果(治疗==1){
成本=成本+检查;
}
否则{
如果(治疗==2){
成本=成本+清洁;
}
否则{
如果(治疗==3){
成本=成本+空腔;
}
否则{
而(治疗<0)中断;
}
}
}
}
System.out.println(“总成本it:+成本”);
}
}

我希望它循环,直到我输入“-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);

    }
}
import java.util.Scanner;
公开课考试{
公共静态void main(字符串[]args){
双倍成本=0;
int处理=0;
最终双重检查=60.00;
最终双重清洗=30.00;
最终双腔=150.00;
布尔重复=真;
while(重复){
扫描仪输入=新扫描仪(System.in);
System.out.println(“将提供什么服务?:”;
System.out.println(“检查:1”);
系统输出打印项次(“清洗:2”);
System.out.println(“空腔:3”);
系统输出打印项次(“出口:-1”);
治疗=输入。nextInt();
input.nextLine();
开关(治疗){
案例1:
成本=成本+检查;
打破
案例2:
成本=成本+清洁;
打破
案例3:
成本=成本+空腔;
打破
违约:
System.out.println(“是否要中断循环?”);
字符串ans=input.nextLine();
如果(ans.equals(“y”)){
System.out.println(“退出…”);
重复=错误;
}
打破
}
//如果(治疗==1){
//成本=成本+检查;
//}其他{
//如果(治疗==2){
//成本=成本+清洁;
//}其他{
//如果(治疗==3){
//成本=成本+空腔;
//}其他{
//而(治疗<0)
//中断;
// }
// }
// }
}
System.out.println(“总成本it:+成本”);
}
}