Benutzername:   Noch nicht registriert?
Passwort:   Passwort vergessen?
iB Code Einmal klicken um den Tag zu öffnen, nochmal klicken zum Schliessen

Top Smilies
Beitrag

HTML ist on für dieses Forum

IkonCode ist on für dieses Forum

SMILIES LEGENDE ansehen

Beitragsoptionen Möchten Sie Ihre Signatur hinzufügen?
Wollen Sie per Email über Antworten informiert werden?
Wollen Sie Emoticons in Ihrem Beitrag aktivieren?
 

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("------------------------------------");


//////Konsistenzprüfung Ausgabe (P1)///
System.out.println(p1.pruefeKonto(p1));
///////////////////////////////////////


//Ausgabe der Daten
System.out.println("------------------------------------");
System.out.println("Der Name der Person2: " + p2.getName());
System.out.println("Kontonummer der Person2: " + k2.getKnr());
System.out.println("Ihr Guthaben: " + k2.getSaldo());
System.out.println("Alter: " + p2.getAlter());


//Vergleich der Eingabe anhand der getSex() Funktion
if(p2.getSex()) {
System.out.println(p2.getName() + " ist Weiblich");
} else {
System.out.println(p2.getName() + " ist Maennlich");
}

System.out.println("------------------------------------");

//////Konsistenzprüfung Ausgabe (P2)///
System.out.println(p2.pruefeKonto(p2));
///////////////////////////////////////

System.out.print("------------------------------------");



}
}


Klasse Person:
Code
class Person
{

//Variablennamen
private String name;
private boolean weiblich;
int alter;
boolean temp;
Girokonto konto;

//Konstruktor Person
Person()
{
name = "";
weiblich = false;
alter = 0;
}

public void konto(Girokonto k)
{
konto = k;
}

//Personennamen setzen
public void setName(String Name)
{
   this.name = Name;
}

//Gibt den Namen zurck
public String getName()
{
return name;
}

//Geschlecht setzen
public void setSex(String Sex)
{
//ohne Gross- und Kleinschreibnung (IgnoreCase) | equals (String vergleich)
weiblich = Sex.equalsIgnoreCase("w");
}

//Geschlecht zurckgeben
public boolean getSex()
{
return weiblich;
}

//Alter setzen
public void setAlter(int a)
{
this.alter = a;
}

//Alter zurückgeben
public int getAlter()
{
return alter;
}

//Methode zur Kosistenzprüfung
public boolean pruefeKonto(Person p) throws Exception
{

if(this.getAlter()<16)
{
System.out.println("Tut mir ja ehrlich leid " + this.getName() + ", aber du bist zu jung!");

} else {

System.out.println("Alles klar :-) " + this.getName() + " darfst dein Konto behalten.");
}

return temp;

}


}


Klasse Girokonto:
Code
class Girokonto
{
//Variablennamen
private int knr;
private double saldo;
Person besitzer;

//Konstruktor Girokonto
Girokonto()
{
knr = 0;
saldo = 0.0;
}

public void besitzer (Person p)
 {
   besitzer = p;
 }

//Kontonummer setzen
public void setKnr(int n)
{
knr = n;
}

//und Kontonummer zurckgeben
public int getKnr()
{
return knr;
}

//Saldo setzen
public void setSaldo(double s)
{
saldo = s;
}

// 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  :lol:

MfG

One :cu:
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 :lol:
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!!";
}


Aber das funktioniert nicht richtig... :sadden:
Weniger Antworten Mehr Antworten
Jack the Ripper Erstellt: 17:30 am 16. Nov. 2006
Wie willstn das Überprüfen? Bräuchtest ja sone Art globale Datenbank, mit der du das ganze vergleichen kannst:noidea:

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 :lol:
Jack the Ripper Erstellt: 15:14 am 16. Nov. 2006
nochnie gehört :dontknow:
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? :noidea: ^^

(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 :buck:

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?:noidea:

(Geändert von Jack the Ripper um 12:44 am Nov. 16, 2006)
×