Warum bin ich immer die Fehlermeldung "die Methode Ist nicht definiert für den Typ"?

Lerne ich die Grundlagen an der Universität und möchte einige helfen mit die folgende Fehlermeldung von Eclipse : "Die Methode getCost() ist nicht definiert für den Typ ShopCLI" &

"Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    The method getCost() is undefined for the type ShopCLI
    at components.ShopCLI.main(ShopCLI.java:39)

Hier ist mein code

public class ShopCLI {

    public static void main(String[] args) {

        ArrayList<Order> ord = new ArrayList<>();

        System.out.println("Welcome to Sandwich Shop CLI V1!");
        System.out.println("Please Choose and Option by Typing the Appropriate Number from the List");
        System.out.println("1.New Order");

        Scanner sc = new Scanner(System.in);
        int choice = sc.nextInt();

        System.out.println("Please Choose an Outer From the List: ");
        System.out.println("Press 1 to Continue or 2 to Exit");
        int Sandwich = sc.nextInt();

        System.out.println("Outer Options are Bun, Bread or Brioche");

        String inputOuter = sc.next();

        System.out.println("Inner Options are Ham, Cheese or Cucumber");

        String inputInner = sc.next();

        System.out.println("Sauce Options are Mayo, Butter or Marmite");

        String inputSauce = sc.next();


        if (Sandwich == 1){
            ord.add(new Order(1, inputOuter, inputInner, inputSauce, 0));
            System.out.println("You Made a " + inputInner + " with " + inputSauce + " Sandwich on " + inputOuter);
            System.out.println("This Will Cost " + getCost());
        }
        else if (Sandwich == 2){
            System.out.println("Exited.");
        }

    }

}

public class Sandwich {

    //Fields
    ArrayList<Sandwich> sandwich = new ArrayList<>();
    String outer;
    String inner;
    String sauce;

    //Constructor
    public Sandwich(String outer, String inner, String sauce){
        this.outer = outer;
        this.inner = inner;
        this.sauce = sauce;
    }

    //Methods

    public String getOuter(){
        return outer;
    }

    public String getInner(){
        return inner;
    }

    public String getSauce(){
        return sauce;
    }

    public void setOuter(String repOuter){
        outer = repOuter;
    }

    public void setInner(String repInner){
        inner = repInner;
    }

    public void setSauce(String repSauce){
        sauce = repSauce;
    }

    public void createSandwich(String outer, String inner, String sauce){
        sandwich.add(new Sandwich(outer, inner, sauce));
    }

    public void setSandwich(String repOuter, String repInner, String repSauce){
        outer = repOuter;
        inner = repInner;
        sauce = repSauce;
    }

    public void resetOrder(){
        sandwich.removeAll(sandwich);
    }
}

public class Order extends Sandwich {

    //Fields
    int OrderId;
    double Cost;


    //Constructor
    public Order(int OrderId, String outer, String inner, String sauce, int Cost) {
        super(outer, inner, sauce);
        this.OrderId = OrderId;
        this.Cost = Cost;

    }

    //Methods

    public int getOrderId(){
        return this.OrderId;
    }

    public double getCost(){
        return this.Cost;
    }

    public void setOrderId(int repOrderID){
        this.OrderId = repOrderID;
    }

    public void overrideCost(int Cost){
        this.Cost = Cost;
    }

    public void setOrder(int repOrderId, String repOuter, String repInner, String repSauce){
        this.OrderId = repOrderId;
        this.outer = repOuter;
        this.inner = repInner;
        this.sauce = repSauce;

        double calcCost;
        double outerCost = 0;
        double innerCost = 0;
        double sauceCost = 0;

        //Outer Cost
        if(repOuter == "Bun")
        {
            outerCost = 0.5;
        }
        else if(repOuter == "Bread")
        {
            outerCost = 0.25;
        }
        else if(repOuter == "Brioche")
        {
            outerCost = 0.75;
        }
        else
        {
            System.out.println("Invalid Bread Type");
        }

        //Inner cost
        if(repInner == "Ham")
        {
            innerCost = 0.5;
        }
        else if(repInner == "Cheese")
        {
            innerCost = 0.25;
        }
        else if(repInner == "Cucumber")
        {
            innerCost = 0.75;
        }
        else
        {
            System.out.println("Invalid Filling Type");
        }

        //Sauce Cost
        if(repSauce == "Mayo")
        {
            sauceCost = 0.5;
        }
        else if(repSauce == "Butter")
        {
            sauceCost = 0.25;
        }
        else if(repSauce == "Marmite")
        {
            sauceCost = 0.75;
        }
        else
        {
            System.out.println("Invalid Sauce Type");
        }

        calcCost = outerCost + innerCost + sauceCost;
        this.Cost = calcCost;

    }

}

InformationsquelleAutor Jon0149 | 2015-02-22

Schreibe einen Kommentar