www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Formale Sprachen" - Java Klasse nicht kompilierbar
Java Klasse nicht kompilierbar < Formale Sprachen < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Java Klasse nicht kompilierbar: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 00:00 Mo 15.06.2009
Autor: snp_Drake

Aufgabe
Implementieren Sie eine Klasse Speisekarte, die eine Speisekarte eines Restaurants realisiert. Gehen Sie
dabei wie folgt vor:
1. Implementieren Sie eine Klasse Speise. Eine Speise besitzt einen Namen und einen Preis, die ¨uber
den Konstruktor initialisiert werden. Die Klasse besitzt eine Methode public String toString(),
die Name und Preis der Speise zur¨uckliefert.
2. Implementieren Sie eine Klasse Speisekarte, die verschiedene Speisen enth¨alt. Eine Speisekarte
kann neue Speisen aufnehmen, vorhandene Speisen entfernen und s¨amtliche Speisen inklusive Preis
auf der Konsole ausgeben. Verwenden Sie zur Verwaltung der Speisen den generischen Datentyp
ArrayList<T>, der in der Java-API unter
http://java.sun.com/javase/6/docs/api/
dokumentiert ist.
3. Implementieren Sie eine Klasse TestSpeisekarte zum Testen Ihres Programms. Verwenden Sie
dazu mindestens 5 Speisen.

Also, ich hab das Problem, dass der folgende Quellcode nicht compilierbar ist und ich nicht weiß warum. Also zuerst mal die Klasse Speise (ist noch zu compilieren):

public class Speise{
String name;
String preis;
Speise (String name, String preis){
this.name=name;
this.preis=preis;
}
public String toString(){
return name+preis;
}
}

Dann Speisekarte und da spuckt er immer Fehler aus:

import java.util.ArrayList;

public class Speisekarte <T> extends Speise{
        Speise value;                             //!
ArrayList<Speise> speisen;

Speisekarte(Speise aSpeise){
        speisen = new ArrayList<Speise>();         //! "speisen"-Zeiger zeigt auf neues Element
        speisen.value = aSpeise;                   //! "speisen"-ZeigerElement = aSpeise
    }

void addSpeise (Speise speisen){
speisen.add(speisen);
}

void removeSpeise (Speise speisen){
speisen.remove(speisen);
}

void ausgeben (){
System.out.println(speisen);
}
}

Kann mir jemand helfen?

        
Bezug
Java Klasse nicht kompilierbar: Antwort
Status: (Antwort) fertig Status 
Datum: 18:28 Mo 15.06.2009
Autor: fabba


>  Also, ich hab das Problem, dass der folgende Quellcode
> nicht compilierbar ist und ich nicht weiß warum. Also
> zuerst mal die Klasse Speise (ist noch zu compilieren):
>  
> public class Speise{
>   String name;
>   String preis;
>   Speise (String name, String preis){
>   this.name=name;
>   this.preis=preis;
>   }
>   public String toString(){
>   return name+preis;
>   }
>  }

"nicht compilierbar" ist keine Fehlermeldung.

... und bei mir geht's. Mit welchem Aufruf versuchst Du es?


Die Klasse sieht inhaltlich gut aus, auch wenn ich den Preis nicht unbedingt als String speichern würde.


>  
> Dann Speisekarte und da spuckt er immer Fehler aus:

"immer Fehler" ist keine Fehlermeldung. Besser angeben, was Du tust, was Du erwartest, was Du stattdessen erhälst. Das zeigt, dass Du Dir Gedanken machst (und Gedanken Machen hilft oft schon um das Problem von alleine zu lösen) und erleichtert das Helfen.

>  
> import java.util.ArrayList;
>  
> public class Speisekarte <T> extends Speise{

Eine Speisekarte ist eine Art von Speise? Das drückt die extends-Beziehung aus.
Es gibt verschiedene Typen von Speisekarten? Z. B. Integer-Speisekarten? Das drückt das <T> aus.


>          Speise value;                             //!

Eine Speisekarte hat einen Wert? Und der ist eine Speise? Versteh' ich nicht.

>   ArrayList<Speise> speisen;

Sehr gut. Liste aller Speisen auf der Karte.

>  
> Speisekarte(Speise aSpeise){

Hier tritt bei mir ein Fehler auf, hat aber mit dem überflüssigen <T> und extends Speise zu tun


>          speisen = new ArrayList<Speise>();         //! "speisen"-Zeiger zeigt auf neues Element

Hier hab ich keinen Fehler. Sieht auch gut aus. Die Speisenliste wird mit einer leeren Liste initialisiert.

>          speisen.value = aSpeise;                   //! "speisen"-ZeigerElement = aSpeise

Das ergibt wenig Sinn. Eine Liste hat keinen Wert. Eine add-Methode könnte sie haben um die entsprechende Speise dort hinzuzufügen. Unten machst Du's richtig.

aSpeise soll anfangs als einzige Speise auf der Karte stehen?


>      }
>  
> void addSpeise (Speise speisen){
>   speisen.add(speisen);
>   }
>  
> void removeSpeise (Speise speisen){
>   speisen.remove(speisen);
>   }

Gut, aber Du vergibst den Namen speisen doppelt. Die Liste oben heißt schon so. Und damit kommt er gar nicht klar (this.speisen.remove(speisen) würde gehen, aber speisen ist eh ein blöder Name für nur eine Speise)


>  
> void ausgeben (){
>   System.out.println(speisen);
>   }
>  }



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Formale Sprachen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de