java—如何制作一个菜单来选择不同的项目,然后在驱动程序类中计算总计

vulvrdjw  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(186)

我一直在尝试实现一个菜单,用户可以在其中输入他们是要点菜还是三人菜单(饮料、沙拉和三明治)。我不知道如何使用扫描仪,它会调用不同的类。

  1. public class Trio implements MenuItem{
  2. private String name;
  3. private double price;
  4. public Trio(Sandwich s,Salad sl,Drink d) {
  5. name=""+s.getName()+" / "+sl.getName()+" / "+d.getName()+" Trio";
  6. price=0;
  7. double a=s.getPrice(),b=sl.getPrice(),c=d.getPrice();
  8. if(a<=b&&a<=c)
  9. price=b+c;
  10. else if(b<=a&&b<=c)
  11. price=a+c;
  12. else if(c<=b&&c<=a)
  13. price=a+b;
  14. }
  15. public String getName() {
  16. return name;
  17. }
  18. public double getPrice() {
  19. return price;
  20. }
  21. }
  1. //Create an interface with required methods
  2. public interface MenuItem {
  3. String getName();
  4. double getPrice();
  5. }

我被困在如何调用不同的类与司机。我在考虑允许用户输入他们想要的数字。

  1. public class Driver {
  2. public static void main(String[] args) {
  3. //Create a sandwich object with the given data
  4. Sandwich sandwich1=new Sandwich("Cheeseburger",2.75);
  5. Sandwich sandwich2=new Sandwich("Club Sandwich",2.75);
  6. //Create salad object with the given data
  7. Salad salad1=new Salad("Spinach Salad",1.25);
  8. Salad salad2=new Salad("Coleslaw",1.25);
  9. //Create Drink object with given data
  10. Drink drink1=new Drink("Orange Soda",1.25);
  11. Drink drink2=new Drink("Cappuccino",3.50);
  12. //Create a Trio
  13. Trio t1=new Trio(sandwich1,salad1,drink1);
  14. //Display its info
  15. System.out.println(""+t1.getName()+" and the price is : $"+t1.getPrice());
  16. Trio t2=new Trio(sandwich2,salad2,drink2);
  17. System.out.println(""+t2.getName()+" and the price is : $"+t2.getPrice());
  18. System.out.println("Welcome to Java Restaurant!");
  19. System.out.println("Type 1 for Orange Soda:");
  20. }
  21. }
  1. public class Drink implements MenuItem {
  2. private String name;
  3. private double price;
  4. public Drink(String name, double price) {
  5. this.name = name;
  6. this.price = price;
  7. }
  8. public void setName(String name) {
  9. this.name = name;
  10. }
  11. public void setPrice(double price) {
  12. this.price = price;
  13. }
  14. public String getName() {
  15. return name;
  16. }
  17. public double getPrice() {
  18. return price;
  19. }
  20. }
  1. public class Salad implements MenuItem {
  2. private String name;
  3. private double price;
  4. public Salad(String name, double price) {
  5. this.name = name;
  6. this.price = price;
  7. }
  8. public void setName(String name) {
  9. this.name = name;
  10. }
  11. public void setPrice(double price) {
  12. this.price = price;
  13. }
  14. @Override
  15. public String getName() {
  16. return name;
  17. }
  18. @Override
  19. public double getPrice() {
  20. return price;
  21. }
  22. }
  1. public class Sandwich implements MenuItem {
  2. //declare and privatize sandwich name and price
  3. private String name;
  4. private double price;
  5. //override sandwich class
  6. public Sandwich(String name, double price) {
  7. this.name = name;
  8. this.price = price;
  9. }
  10. public void setName(String name) {
  11. this.name = name;
  12. }
  13. public void setPrice(double price) {
  14. this.price = price;
  15. }
  16. @Override
  17. public String getName() {
  18. return name;
  19. }
  20. @Override
  21. public double getPrice() {
  22. return price;
  23. }
  24. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题