matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

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
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenFormale SprachenJava Klasse nicht kompilierbar
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
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.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]