Zum Inhalt springen

Senf

Mitglieder
  • Gesamte Inhalte

    20
  • Benutzer seit

  • Letzter Besuch

  1. Senf

    Problem mit Methode, BlueJ

    Hmm, das hilft mir leider nicht weiter. Könntest du mir noch eine andere Möglichkeit zeigen, wie ich die Aufgabe erfüllen kann?
  2. Senf

    Problem mit Methode, BlueJ

    Ok Hier ist die Hilfsklasse für die m:n Klasse: public class ARTIKELZEITUNG { private ARTIKEL artikel; private ZEITUNG zeitung; public ARTIKELZEITUNG(ARTIKEL art, ZEITUNG zeit) { artikel = art; zeitung = zeit; } } und hier die Assoziationsklasse: public class ABGEDRUCKT { private ARTIKELZEITUNG[] artzei; public ABGEDRUCKT() { artzei= new ARTIKELZEITUNG [1000]; } } In welcher Klasse muss ich die Methode programmieren?
  3. Senf

    Problem mit Methode, BlueJ

    Doch habe ich. Natürlich habe hier nicht das ganze Projekt gepostet, da sie für diese Aufgabe nicht erforderlich sind Tut mir leid. es sollte die Methode artikelErstellen() sein. Der Parameter im Quellcode soll bitte ignoriert werden! Sondern?
  4. Hallo Ich habe folgende Klassen mithilfe einer n:m Beziehung verbunden: Klasse ARTIKEL: public class ARTIKEL { private String thema; private String ueberschrift; private int laenge; public ARTIKEL(){ laenge= 2; } public void verfassen (String t,String u) { ueberschrift = u; thema= t; } public int gibLaenge(){ return laenge; } public void themaAendern( String th ){ thema= th; } } und Klasse ZEITUNG: public class ZEITUNG { private String name; private String typ; private String adresse; public ZEITUNG() { name = "Süddeutsche Heizung"; typ = "Newspaper"; adresse = "Straße"; } public void artikelErstellen(ZEITUNG ar){ } public void umsortieren(){ } } Nun lautet die Fragestellung: Schreibe die Mehtode "Artikel erstellen()" der Klasse Zeitung, die folgendes bewirkt: der eingegebene Artikel wird benutzt und ein neues Artikel-Zeitungs-Paar eingetragen. Dann wird der Verlagsname abgefragt sowie die Länge des Artikels. Ich weiß zwar, dass ich irgendwie die Punktnotation verwenden muss, habe aber keine Ahnung wie das funktionieren soll. Kann mir jemand helfen?
  5. Hallo ich versuche gerade n:m Beziehungen mit Hilfe von Assoziationsklassen herzustellen. Mein Projekt : Schule Ich arbeite mit BLUEJ Klasse der Schulklasse: public class SCHULKLASSE { private String name; private int Klassenzimmer; private String zweig; public SCHULKLASSE(String n) { name = n; } } Lehrerklasse: public class LEHRER { private int persnr; private String nachname; private String amtsbezeichung; public LEHRER(int nr ) { persnr= nr; } } Hilfsklasse der Assoziationsklasse(LEHRERKLASSE): public class LEHRERKLASSE { private SCHULKLASSE klasse; private LEHRER person; public LEHRERKLASSE(SCHULKLASSE kla, LEHRER per) { klasse=kla; person= per; } } Beziehung UNTERRICHTET: public class UNTERRICHTET { private LEHRERKLASSE[] klehrer; public UNTERRICHTET() { klehrer = new LEHRERKLASSE[100]; } public void Lehrer_zuordnen(SCHULKLASSE sklasse, LEHRER person){ klehrer= new LEHRERKLASSE(sklasse, person); } } Mein Problem ist Folgendes: Beim Übersetzen der Klasse UNTERRICHTET erscheint folgende Fehlermeldung in der Zeile " klehrer= new LEHRERKLASSE(sklasse, person);" incompatible types-found LEHRERKLASSE but expected LEHRERKLASSE[] Was hab ich falsch gemacht? Wie kann ich den Fehler beheben?
  6. Hallo ich versuche gerade n:m Beziehungen mit Hilfe von Assoziationsklassen herzustellen. Mein Projekt : Schule Klasse der Schulklasse: [java] public class SCHULKLASSE { private String name; private int Klassenzimmer; private String zweig; public SCHULKLASSE(String n) { name = n; } } [/java] Lehrerklasse: [java] public class LEHRER { private int persnr; private String nachname; private String amtsbezeichung; public LEHRER(int nr ) { persnr= nr; } } [/java] Hilfsklasse der Assoziationsklasse(LEHRERKLASSE): [java] public class LEHRERKLASSE { private SCHULKLASSE klasse; private LEHRER person; public LEHRERKLASSE(SCHULKLASSE kla, LEHRER per) { klasse=kla; person= per; } } [/java] Beziehung UNTERRICHTET: [java] public class UNTERRICHTET { private LEHRERKLASSE[] klehrer; public UNTERRICHTET() { klehrer = new LEHRERKLASSE[100]; } public void Lehrer_zuordnen(SCHULKLASSE sklasse, LEHRER person){ klehrer= new LEHRERKLASSE(sklasse, person); } } [/java] Mein Problem ist Folgendes: Beim Übersetzen der Klasse UNTERRICHTET erscheint folgende Fehlermeldung in der Zeile " klehrer= new LEHRERKLASSE(sklasse, person);" incompatible types-found LEHRERKLASSE but expected LEHRERKLASSE[] Was hab ich falsch gemacht? Wie kann ich den Fehler beheben?
  7. Vielen Dank Klotzkopp dass sie sich für mich Zeit genommen haben. Ohne Sie hätte ich das nie geschafft.
  8. Wo und wie gebe ich der Varible verschiedene Werte? Koennten Sie mir dies bitte bei meinem Beispiel erklaeren? Nachtrag: Ich glaube so ist es richtig: Der Automat funktioniert einwandfrei, koennten Sie trozdem nochmal einen Blick drauf werfen? public class Geldautomat { private int guthaben ; private int neuesGuthaben ; private int Geldbetrag ; private int maxBetrag ; private String PIN ; private String zustand ; public Geldautomat() { guthaben = 10000 ; PIN = "123"; zustand = "standby" ; maxBetrag = 1000 ; } public void karte_einwerfen (){ System.out.println("Ihre Karte wurde eingegeben.") ; zustand = "bereit" ; } public void pin_eingeben (String PIN ){ if (zustand.equals("bereit")) if (PIN.equals("123")) { System.out.println("PIN ist korrekt. Nun koennen sie ihr Geld abheben"); zustand = "verfuegbar" ; } else { System.out.println("PIN ist falsch. Der Vorgang wird abgebrochen. Ihre Karte wird ausgegeben."); zustand = "standby" ; } if (zustand.equals ("standby")) { System.out.println("Bitte Karte einwerfen!"); } } public void betrag_abheben (int Geldbetrag) { if (zustand.equals ("verfuegbar") ) { if (Geldbetrag <= maxBetrag){ neuesGuthaben = guthaben - Geldbetrag ; guthaben = neuesGuthaben ; System.out.println("Der Geldbetrag wurde abgehoben. Wollen sie noch mehr Geld abheben?"); } else { System.out.println("Der eingegebene Betrag überschreitet das Maximale!") ; } } else { System.out.println("Bitte Karte bzw. PIN eingeben.") ; } } public void karte_ausgeben () { if (zustand.equals ("bereit")) { zustand = "standby" ; System.out.println("Vorgang beendet. Ihre Karte wird ausgegeben"); } if (zustand.equals("verfuegbar")) { zustand = "standby" ; System.out.println("Vorgang beendet. Ihre Karte wird ausgegeben"); } } }
  9. Nein ich will das der Automat 3 verschiedene Zustaende annehemn kann. Können sie mir sagen wie ich das machen muss?
  10. 1.Zustand Zu Beginn ist der automat auf Standby also keine Karte ist eingworfen 2.Zustand >>>Karte einwerfen Dann sollte es den Zustand wechseln wenn man die Karte eingeworfen hat. 3 Zustand >>>>PIN eingeben Als nächstes sollte der Zustand wechseln wenn der PIN eingebene ist und man das Geld abheben kann. Wäre es denn so richtig: Attribute und Konstruktor: public class Geldautomat { private int guthaben ; private int neuesGuthaben ; private int Geldbetrag ; private int maxBetrag ; private String PIN ; private String zustand1 ; private String zustand2 ; private String zustand3 ; public Geldautomat() { guthaben = 10000 ; PIN = "123"; zustand1 = "standby" ; zustand2 = "bereit" ; // bereit = Karte wurde eingeworfen => PIN kann eingegeben werden. zustand3 = "verfuegbar" ; //verfuegbar= Karte eingeworfen+richtiger PIN => Geld kann abgehoben werden maxBetrag = 1000 ; }
  11. Was soll ich stattdessen machen? Sieht es so richtig aus: public void karte_einwerfen (){ if (zustand.equals("standby")){ System.out.println("Karte erhalten. Automat ist startbereit.") ; zustand = "bereit" ; } }
  12. Ich habe bereits ein Zustandsübergangsdiagramm gemacht. Meine Programmierung sieht nun folgendermasen aus und ich denke sie ist vollstaendig und korrekt : public class Geldautomat { private int guthaben ; private int neuesGuthaben ; private int Geldbetrag ; private int maxBetrag ; private String PIN ; private String zustand ; public Geldautomat() { guthaben = 10000 ; PIN = "123"; zustand = "standby" ; zustand = "bereit" ; // bereit = Karte wurde eingeworfen => PIN kann eingegeben werden. zustand = "verfuegbar" ; //verfuegbar= Karte eingeworfen+richtiger PIN => Geld kann abgehoben werden maxBetrag = 1000 ; } public void karte_einwerfen (){ System.out.println("Karte erhalten. Automat ist startbereit.") ; zustand = "bereit" ; } public void pin_eingeben (String PIN ){ if (zustand.equals("bereit")) if (PIN.equals("123")) { System.out.println("PIN ist korrekt. Nun koennen sie ihr Geld abheben"); zustand = "verfuegbar" ; } else { System.out.println("PIN ist falsch. Der Vorgang wird abgebrochen. Ihre Karte wird ausgegeben."); zustand = "standby" ; } if (zustand.equals ("standby")) { System.out.println("Bitte Karte einwerfen!"); } } public void betrag_abheben (int Geldbetrag) { if (zustand.equals ("verfuegbar") ) { if (Geldbetrag <= maxBetrag){ neuesGuthaben = guthaben - Geldbetrag ; guthaben = neuesGuthaben ; System.out.println("Der Geldbetrag wurde abgehoben. Wollen sie noch mehr Geld abheben?"); } else { System.out.println("Der eingegebene Betrag überschreitet das Maximale!") ; } } else { System.out.println("Bitte Karte bzw. PIN eingeben.") ; } } public void karte_ausgeben () { if (zustand.equals ("bereit")) { zustand = "standby" ; System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben"); } if (zustand.equals("verfuegbar")) { zustand = "standby" ; System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben"); } } }
  13. Ich habe mir dabei folgendes gedacht. zustand beschreibt den Zustand des Automaten, wenn die Karte noch nicht eingeworfen ist. bereiterZustand beschreibt den Zustand des Automaten, wenn die Karte eingeworfen wurde und der PIN eingegeben werden kann. verfuegbarerZustand beschreibt den Zustand des Automaten, wenn die Karte eingeworfen wurde und die PIN korrekt eingegeben wurde. Dann kann nämlich das Geld abgehoben werden. Für mich kling es logisch, aber womöglich ist es voelliger Schwachsinn. Sollte ich etwa im Konstruktor folgendes schreiben: zustand="standby" zustand="bereit" zustand="verfuegbar"? Aber das wäre doch völlig verkehrt oder? Vielen Dank dass Sie mir helfen
  14. Koennen Sie mir erklaeren wie ich es mit einem Zustand programmieren kann? Das Geld soll nämlich nicht abgehoben werden, bevor die Karte eingeworfen und der PIN eingegben ist. Was muss ich hier tun? public void karte_ausgeben () { if (zustand.equals ("bereit")) { bereiterZustand = zustand ; zustand = "standby" ; System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben"); } if (zustand.equals("verfuegbar")) { verfuegbarerZustand = zustand ; zustand = "standby" ; System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben"); } Ist das korrekt? Sollte ich zb verfuegbarerZustand = zustand ; schon in den Konstruktor mit einbringen?
  15. OK ich habe die Fehler beheben koennen, nun sieht es so aus public class Geldautomat { private int guthaben ; private int neuesGuthaben ; private int Geldbetrag ; private int maxBetrag ; private String PIN ; private String zustand ; private String verfuegbarerZustand ; private String bereiterZustand ; public Geldautomat() { guthaben = 10000 ; PIN = "123"; zustand = "standby" ; bereiterZustand = "bereit" ; //bereiterZustand = PIN kann eingegeben werden (d.h. Karte erhalten) verfuegbarerZustand = "verfuegbar"; // verfuegbarerZuatand = Geld kann abgehoben werden.(d.h PIN wurde korrekt eingegebe maxBetrag = 1000 ; } public void karte_einwerfen (){ zustand = bereiterZustand ; System.out.println("Karte erhalten. Automat ist startbereit.") ; } public void pin_eingeben (String PIN ){ if (zustand.equals("bereit")) if (PIN.equals("123")) { zustand = verfuegbarerZustand ; System.out.println("PIN ist korrekt. Nun koennen sie ihr Geld abheben"); } else { bereiterZustand = zustand ; System.out.println("PIN ist falsch. Der Vorgang wird abgebrochen. Ihre Karte wird ausgegeben."); } if (zustand.equals ("standby")) { System.out.println("Bitte Karte einwerfen!"); } } public void abzuhebendenBetrag_waehlen (int Geldbetrag) { if (zustand.equals ("verfuegbar") ) { if (Geldbetrag <= maxBetrag){ neuesGuthaben = guthaben - Geldbetrag ; guthaben = neuesGuthaben ; System.out.println("Der Geldbetrag wurde abgehoben. Wollen sie noch mehr Geld abheben? ."); } else { System.out.println("Der eingegebene Betrag überschreitet das Maximale!") ; } } else { System.out.println("Bitte Karte bzw. PIN eingeben.") ; } } public void karte_ausgeben () { if (zustand.equals ("bereit")) { bereiterZustand = zustand ; System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben"); } if (zustand.equals("verfuegbar")) { verfuegbarerZustand = zustand ; System.out.println("Vorgang abgebrochen. Ihre Karte wird ausgegeben"); } } }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...