# Kaffeebar



## Limper545 (7. Jan 2016)

Die Aufgabe ist es eine Kaffeebar zu erstellen, welche die Preise und Namen der Produkte einließt und in einem Array speichert und dann eine Preisliste auszugeben.

Der Konstruktor:


```
public class Kaffee {
    private String name;
    private double preis;
    public Kaffee(String name, double preis){
        this.name = name;
        this.preis = preis;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPreis() {
        return preis;
    }
    public void setPreis(int preis) {
        this.preis = preis;
    }
}
```


Der Code:


```
import java.util.Scanner;

public class Kaffeebar {
    private static Scanner in;

    public static void main(String[] args) {
        in = new Scanner(System.in);

        System.out.println("Wie viele Sorten Kaffee bieten Sie an?");

        int anzahl = in.nextInt();

        Kaffee [] kaffeeliste = new Kaffee[anzahl];

        for (int i=0; i < kaffeeliste.length; i++) {

            System.out.println("Wie soll der Kaffee heissen?");
            String name = in.next();

            System.out.println("Wie teuer soll der Kaffee sein?");
            double preis = in.nextDouble();

            kaffeeliste[i] = new Kaffee (name, preis);
        }
        System.out.printf("%n%n Preisliste für Kaffee: %n");
        for (int i=0; i < kaffeeliste.length; i++) {
            System.out.printf("%n %10s",);
            System.out.printf(" %.2f%n",);
        }
    }
}
```



jetzt bekomme ich in der zweiten Schleife nicht den Namen und den Preis raus.

Danke für jede Hilfe.


----------



## bene2808 (7. Jan 2016)

Du erstellst vor den Schleifen ein Kaffee-Array. In der ersten Schleife musst du dann also bei jedem Durchlauf _einem Element_ dieses Arrays einen Wert zuweisen und nicht dem ganzen Array, es fehlt der Index:


```
kaffeeliste[i] = new Kaffee(name, preis)
```

In der zweiten Schleife brauchst du dann natürlich auch irgendwo in deinen print-Anweisungen einen Verweis auf das aktuelle Element der Kaffeliste.


----------



## kneitzel (7. Jan 2016)

Dein Code ist nicht zu compilieren. Kaffeeliste ist ein Array, da wirst du keinen einzelnen Kaffee zuweisen können. Und deine printf Aufrufe sind auch nicht übersetzbar.

Der Umgang mit Arrays ist falsch. Wie greift man auf Elemente eines Arrays zu?


----------



## Limper545 (7. Jan 2016)

```
public class Kaffeebar { private static Scanner in;

public static void main(String[] args) { in = new Scanner(System.in);

System.out.println("Wie viele Sorten Kaffee bieten Sie an?"); int anzahl = in.nextInt();

// Legen Sie hier ein Array kaffeeliste an, das die oben

// angegebene Anzahl an Kaffees (Espresso, Latte ..) // aufnehmen kann. Siehe Script Seite 150.

____________________________________________

// Schreiben Sie hier eine for-Schleife, die den Kaffee und den // Preis für jeden Kaffee einliest.

__________________________________ {

System.out.println("Wie soll der Kaffee heissen?");

String name = in.next();

System.out.println("Wie teuer soll der Kaffee sein?"); double preis = ___________________ ;

// Erzeugen Sie ein neues Kaffeeobjekt.

_____________________________________________

// Fügen Sie dieses Objekt in unsere kaffeeliste ein.

_____________________________________________

}

System.out.printf("%n%n Preisliste für Kaffee: %n");

// Ergänzen Sie die for-each-Schleife und die printf // Anweisungen, so dass eine einfach Preisliste // ausgegeben wird, z.B.

// Espresso 3.45

// Latte 5.99

for(______________________________) {

System.out.printf("%n %10s", ____________________ );

System.out.printf(" %.2f%n", _______________ );

}

}

}
```

Das ist sind meine Vorgaben vom Professor


----------



## Limper545 (7. Jan 2016)

Ok, danke allen, hab es gelöst.


```
System.out.printf("%n %10s", kaffeeliste[i].getName());
System.out.printf(" %.2f%n",  kaffeeliste[i].getPreis());
```

Ich dachte echt ich hatte das schonmal stehen und es ging nicht.


----------



## apollonia (13. Jan 2016)

Hey Limper,
magst du nochmal deinen vollständigen Code posten? Ich hänge gerade auch noch an der Aufgabe fest.

Danke und LG


----------

