代码之家  ›  专栏  ›  技术社区  ›  Kamran Ali

类中的Construtor Drink Drink不能应用于给定类型

  •  0
  • Kamran Ali  · 技术社区  · 2 年前

    我面临一个错误。代码包含两个类,一个是Store,另一个是Drink。目的是计算总成本。我已经根据给出的UML类图编写了代码。我根据它声明了类和变量。

    错误是:

    constructor Drink in class Drink cannot be applied to given types;
    
    Drink firstOrder=new Drink();
                             ^
      required: String,double
      found: no arguments
      reason: actual and formal argument lists differ in length
    

    public class Store
    {
    
        private Drink orderOne;
        private Drink orderTwo;
        public Store(String name,double cost,String nameone,double costone)
        {
            Drink firstOrder=new Drink();
            firstOrder.orderOne=name;
            firstOrder.orderOne=cost;
            Drink secondOrder=new Drink();
            secondOrder.orderTwo=nameone;
            secondOrder.orderTwo=costone; 
        }
        
        public static void main(String args[]) {
            Store s1=new Store("Lemon Tea",5.25,Coffe,3.99);
            Drink d2=new Drink("Lemon Tea",5.25);
            Drink d2=new Drink("Coffe",3.99);
            s1.printReport();
        }
    
        void printReport()
        {
            Drink dr=new Drink();
            dr.printDrink();
            dr.getCost();
        }
    }
    
    class Drink{
        private String name;
        private double cost;
    
        public Drink(String name2,double cost2)
        {
            name=name2;
            cost=cost2;
        }
    
        void printDrink()
        {
            store obj;
            System.out.println("Drink order one is ");
            System.out.print(obj.name);
            System.out.print("( " );
            System.out.print(cost);
            System.out.print(")");
            System.out.println("Drink order two is ");
            System.out.print(obj.nameOne);
            System.out.print("( " );
            System.out.print(costOne);
            System.out.print(")");
        }
    
        double getCost()
        {
            store obj1;
            double total;
            total=obj1.cost+obj1.cost1;
            System.out.println("Total Cost : $ "+ total);
        }
    }
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Marc Le Bihan    2 年前

    添加 public Drink() {} 构造函数到您的 Drink

    class Drink{
        private String name;
        private double cost;
    
       public Drink() {
       }
    
       public Drink(String name2,double cost2) {
           name=name2;
           cost=cost2;
        }
    
        void printDrink() {
            store obj;
            System.out.println("Drink order one is ");
            System.out.print(obj.name);
            System.out.print("( " );
             System.out.print(cost);
             System.out.print(")");
           System.out.println("Drink order two is ");
            System.out.print(obj.nameOne);
            System.out.print("( " );
             System.out.print(costOne);
             System.out.print(")");
        }
    
        double getCost() {
            store obj1;
            double total;
            total=obj1.cost+obj1.cost1;
            System.out.println("Total Cost : $ "+ total);
        }
    }