Beitragsrückblick für Zusammenspiel von Klassen (die neuesten Beiträge zuerst)
TheOne
Erstellt: 9:47 am 17. Nov. 2006
Hier noch mal mein ganzer Quellcode, es geht jetzt alles soweit
Klasse Eintrag (main):
Code
import java.util.Scanner;
class Eintrag {
public static void main(String args[]) throws Exception{
//Scannerobjekt fr die Eingabe erzeugen Scanner eingabe = new Scanner(System.in);
//Objekt Personen und Konten erzeugen Person p1 = new Person(); Person p2 = new Person();
Girokonto k1 = new Girokonto(); Girokonto k2 = new Girokonto();
//Verbindung der Kono und Personenklasse herstellen p1.konto(k1); p2.konto(k2);
//Eingabe der Personendaten System.out.print("Wie ist der Name von Person1: "); p1.setName(eingabe.next()); System.out.print("Wie ist der Name von Person2: "); p2.setName(eingabe.next());
System.out.print("Wie ist das Geschlecht von Person1 (m/w): "); p1.setSex(eingabe.next()); System.out.print("Wie ist das Geschlecht von Person2 (m/w): "); p2.setSex(eingabe.next());
System.out.print("Wie alt ist Person1: "); p1.setAlter(eingabe.nextInt()); System.out.print("Wie alt ist Person2: "); p2.setAlter(eingabe.nextInt());
//Eingabe der Kontodaten System.out.print("Wie ist die Kontonummer der Person1: "); k1.setKnr(eingabe.nextInt()); System.out.print("Wie ist die Kontonummer der Person2: "); k2.setKnr(eingabe.nextInt());
System.out.print("Wie hoch ist das Saldo von Person1 : "); k1.setSaldo(eingabe.nextDouble()); System.out.print("Wie hoch ist das Saldo von Person2 : "); k2.setSaldo(eingabe.nextDouble()); System.out.println();
//Ausgabe der Daten System.out.println(); System.out.println("------------------------------------"); System.out.println("Der Name der Person1: " + p1.getName()); System.out.println("Kontonummer der Person1: " + k1.getKnr()); System.out.println("Ihr Guthaben: " + k1.getSaldo()); System.out.println("Alter: " + p1.getAlter());
//Vergleich der Eingabe anhand der getSex() Funktion if(p1.getSex()) { System.out.println(p1.getName() + " ist Weiblich"); } else { System.out.println(p1.getName() + " ist Maennlich"); } System.out.println("------------------------------------");
// und Saldo zurckgeben public double getSaldo() { return saldo; }
}
Werde aber heute mit Try und Catch abfragen anfangen. Würd mich freuen wenn ihr mir helft und mitarbeiten würdet wenn ich mal fragen hab. Find sowas immer interessant
MfG
One
E1nste1n
Erstellt: 9:09 am 17. Nov. 2006
Böööh ... das sieht ja viel zu einfach aus ... hätt man ja auch drauf kommen können
thx für die Rückmeldung ...
TheOne
Erstellt: 19:50 am 16. Nov. 2006
public boolean pruefeKonto(Person p) throws Exception {
if(this.getAlter()<16) { System.out.print("Unter 16 Jahren, bitte nur mit Erlaubnis " System.out.println("der Erziehungsberechtigten!!" } return false; }
So.. über diese Methode der Personklasse prüfe ich das jetzt. Ich muss nur noch kompilieren T_T Ich will das ja nicht direkt machen Das wär ja zu einfach
Jack the Ripper
Erstellt: 18:10 am 16. Nov. 2006
Was funzt denn daran nicht? Also ich würds direkt bei der Eingabe abfangen:
Code
System.out.print("Wie alt ist Person 1: "); int alter = eingabe.next(); if(alter < 16) { System.out.print("Unter 16 Jahren, bitte nur mit Erlaubnis "); System.out.println("der Erziehungsberechtigten!!"); } else { P1.setAlter(alter); }
Aber ich seh grad... du hast da nen Simikolon zu viel, oder?
TheOne
Erstellt: 17:44 am 16. Nov. 2006
Ich wollte eigentlich sowas in der Art machen:
if(this.getAlter()<16) { System.out.print("Unter 16 Jahren, bitte nur mit Erlaubnis " System.out.println("der Erziehungsberechtigten!!" }
Wie willstn das Überprüfen? Bräuchtest ja sone Art globale Datenbank, mit der du das ganze vergleichen kannst
Oder womit willte es denn vergleichen?
Bei der Kontonummer könnte man höchstens auf die Anzahl der Stellen prüfen ...das wär aber zu einfach
TheOne
Erstellt: 17:17 am 16. Nov. 2006
Ok, ich hab herausgefunden was Konsistenzprüfung ist... Un zwar ob die benutzten Methoden überhaupt erlaubt sind.. Das heißt, ob P1 ein Konto haben darf oder nicht.. Aber dann muss ich selber noch eine Limitierung einbauen, zum Beispiel Alter.
Und wenn das dann eingebaut ist und alle Daten erstellt sind, muss eine Prüfung vollzogen werden ob die Daten korrekt sind, denk ich.. Nur wie? Mal gucken.. Dürft gerne mit dran rumbasteln.. Ist Open Source
Jack the Ripper
Erstellt: 15:14 am 16. Nov. 2006
nochnie gehört
TheOne
Erstellt: 13:03 am 16. Nov. 2006
Das mit dem Char hab ich mir auch schon überlegt ^^
p1.konto(k1); p2.konto(k2);
Hab jetzt diese Methoden benutzt. Geht soweit so gut In Person und Konto steht jeweils das:
public void konto(Konto k) { konto = k; }
public void besitzer (Person p) { besitzer = p; }
Funzt anscheinend ^^
@Jack Kannst du mir dann sagen was genau eine Konsistenzprüfung ist? ^^
(Geändert von TheOne um 13:37 am Nov. 16, 2006)
Jack the Ripper
Erstellt: 12:42 am 16. Nov. 2006
Um im Konto den Besitzer zu setzen rufste den Dienst "Besitzer" im Konto auf mit dem OBJEKT-Namen des gewünschten Besitzer als Parameter:
Code
K1.Besitzer(P1);
Mit den Konsolen-Sachen kenn ich mich nicht wirklich aus, aber es könnte so aussehen:
Code
System.out.print("Wer ist der Besitzer von Konto 1 ? (Objektname): "); K1.Besitzer(eingabe.next());
Ausgeben kannste den Besitzer afaik so:
Code
public Person getBesitzer() { return Besitzer(); }
In der main:
Code
System.out.println("Besitzer des 1. Kontos: " + K1.Besitzer());
Kann aber sein, dass du dann nur die Speicheradresse rauskriegst
Musste vllt mit getString oder so machen.. da bin ich mir grad unsicher...
Bin aber nicht sicher, ob die Zuweisung mit dem "this" funzt, die du gemacht hast:
k1.Besitzer (this);
Würd das Geschlecht als Character speichern.. sieht irgendwie elleganter aus^^
BTW: Die Lösung mit der Steuerklasse wär einfacher und übersichtlicher, oder?
(Geändert von Jack the Ripper um 12:44 am Nov. 16, 2006)
×
Copyright 1999 - 2024 by www.ocinside.de - All rights reserved.
Unser PC Forum verwendet Cookies für einen optimalen Service. Durch die Nutzung dieser Webseite erklären Sie sich damit einverstanden, dass wir personenbezogene Daten wie z.B. die IP-Adresse speichern und wir zusammen mit Drittanbietern Cookies verwenden, um personalisierte Anzeigen zur interessengerechten Werbung und weitere externe Inhalte anzuzeigen. Einverstanden? Ja / Nein ImpressumDatenschutzEinstellungen