当前位置: 首页 > 知识库问答 >
问题:

如何使用if else和while循环创建计算菜单价格的java代码

湛光华
2023-03-14

我需要使用Java创建一个代码。当任何人进入这家饮料店时,它显示了如何选择和订购菜单项目和数量。选择一个菜单后,代码询问“是否要选择另一个菜单项”。如果不想要其他菜单,请输入(-1)。输入(-1)价格后,通过代码计算,余额超过1000/=商店给10%的折扣。余额中必须加上服务费(20%)和增值税(12%)。

 Scanner scan=new Scanner(System.in);
  int i=0;
  double tot=0,price,vat,service,res=0,result;
 System.out.println("\t\t\t\tWELCOME TO BEVERAGE SHOP");
 System.out.print("User Name:");
 String name=scan.next();
 System.out.println("Hello!!!"+" "+name+" "+"Welcome...");
 System.out.print("\n");
 System.out.println("Please see our menu and select");
 System.out.print("\n");
 System.out.println("|\tPRODUCT ID\t|\t\tPRODUCT NAME\t\t|\tPRICE(LKR)\t|\n|\t1\t\t|\t\tTea\t\t\t|\t80\t\t|\n|\t2\t\t|\t\tCoffee\t\t\t|\t100\t\t|\n|\t3\t\t|\t\tIce Coffee\t\t|\t150\t\t|");
 System.out.print("\n");
 System.out.println("If you have selected the items you want,you can enter the product below");    
 while(i>=0){
     System.out.print("Product Id:");
     int id=scan.nextInt();
     System.out.print("Qyantity:");
     double quan=scan.nextDouble();

     System.out.println(id +":"+quan);

     System.out.print("if you want to stop entering id and buy, please enter \"(-1)\" \nor you want to continue enter anothe number:");
     int no=scan.nextInt();
     if(no==-1){
           vat=(res*12)/100;
           service=(res*20)/100;
           result=vat+service;
      System.out.println("Your Amount is:"+" "+result);
           if(res>1000){
           price=(res*10)/100;
           vat=(res*12)/100;
           service=(res*20)/100;
           result=(vat+service)-price;
           System.out.println("Your Amount is:"+" "+result);
           }
     }
     else{

         switch(id){
              case 1:
                  tot=80*quan;
                  break;
              case 2:
                  tot=100*quan;
                  break;
              case 3:
                  tot=150*quan;
                  break;   
       }
            res+=tot;  
     }  
 }
  i++; 

共有1个答案

谢哲瀚
2023-03-14

我将缩短这一点:

int no=scan.nextInt();
while(i>=0){
//your code
    int no=scan.nextInt();
    if(no==-1){
       //your code
       // leave the loop
       break;
    }

 }

需要设置exit/break条件,然后离开while-loop

 类似资料:
  • 问题内容: 如何从while循环中创建sql server cte 这样的循环 问题答案: 如果需要表: 如果您需要一个字符串:

  • 我试图用while循环计算多个数字的和。当输入负数时,应打印数字之和。当我运行代码时,它所做的就是打印最后输入的正数。以下是当前的非工作代码:

  • 我有一个主菜单类,它从用户那里获得一个选项,然后使用该选项从与菜单选项相关的switch语句中选择其他类。我的代码是: 例如“Exit”选项,所以我把switch语句放在一个while循环中,布尔条件不等于4,这样当选项设置为4时,循环就会停止。正确的情况下执行,但我的问题是,循环,因此程序停止后,我尝试每个情况,即使选择不是4。我尝试在案例1、2和3之后使用break语句,当我这样做时,它会在无

  • 问题内容: 我想在我的应用程序中创建一个工具栏。如果单击该工具栏上的按钮,它将弹出一个菜单,就像Eclipse的工具栏一样。我不知道如何在Swing中执行此操作。有谁可以帮助我吗?我尝试过Google,但一无所获。 问题答案: 在Swing中,这比需要做的难。因此,我没有为您提供教程,而是创建了一个完整的示例。

  • 主要内容:while 语句,do-while 语句,while和do-while的比较循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。 所有流行的编程语言中都有循环语句。 Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for 循环的变形,它是专门为集合遍历而设计的。for-ea

  • 问题内容: 所以我想让我的程序读取一个输入,该输入在一行中有一些整数,例如: 1 1 2 然后,它应该分别读取每个整数并在新行中打印。程序必须读取的整数数量没有预先给出,所以我想做的是使用while循环,该循环在没有更多的整数可读取之后结束。这是我写的代码: 但是它不能正常工作,因为循环永远不会结束,它只希望用户输入更多的整数。我在这里想念什么? 问题答案: 扫描程序基本上会等到文件结束进入。如果