H
HansiWinter
Gast
Hallo,
ich weiß, ich habe vor kurzem eine sehr ähnliche Frage gestellt, aber ich bin da leider immer noch nicht wirklich weiter gekommen.
Ich habe heute mal ein Beispiel entwickelt und wollte euch nochmal bitten, mir hier weiter zu helfen. Dazu habe ich folgende zwei Klassen angelegt. Keine Angst! So lange ist das aber nicht.
Ich habe mir überlegt, ein Rechenprogramm zu erstellen, in dem man zu schreibende Prüfungen anlegt und die Noten, die man in den Prüfungen erzielt hat speichert.
1) Hier werden die Prüfungen ('abteilung') angelegt. Jede Prüfung hat die Attribute pruefung (= der Name), punkte und note. Und ein paar Getter und Setter, nichts spektakuläres.
2) Mithilfe einer zweiten Klasse will ich nun die Noten speichern. Später will ich den Durchschnitt errechnen. Ich habe nun ein Array mit 3 Rechenergebnissen angelegt.
Nun habe ich mir das so überlegt, in der ersten Methode soll das Ergebnis einer bestimmten Prüfung hinzugefügt werden und mit anzahl wird gezählt, wieviele Rechenergebnisse im Array schon sind.
Das Problem habe ich nun aber in der Anwendungsklasse. Ich habe das hier unten versucht. Vom Gedankengang her: Ich habe eine Prüfung EidiL angelegt und dann verschiedene Methoden in Rechenergebnis aufgerufen. EidiL ist ja eine Instanz davon.
Nun beginnt aber mein Problem: Ich weiß echt nicht, wie ich nun rüber zu dem rechendurchschnittsrechner komme. Ich wollte die dortigen Methoden erst mit EidiL aufrufen, da das ja aber keine Instanz von rechendurchschnittsrechner ist, ging das natürlich nicht. Dann habe ich mir überlegt, eine neue Instanz von rechendurchschnittsrechner anzulegen, aber dann kann ich zum einen nicht etwas aus der Klasse Rechenergbnis übergeben, zum anderen stehen die beiden Instanzen der unterschiedlichen Klassen ja gar nicht in Verbindung.
Ist das Problem verständlich? Ich habe hier echt noch ein grundlegendes Problem und wäre über Hilfe sehr erfreut!
Ich möchte die beiden oberen Klassen eigentlich genau so verwenden, weil sie für mich so Sinn machen. Wie müsste nun die Anwendungsklasse dazu aussehen? Wäre super, wenn mir da jemand einmal eine 'Muster'lösung oder was in der Art dazu geben könnte, damit ich mal auf einen Blick sehe, wie ich vorgehen muss, wenn ich mehrere nicht verwandte Klassen verwenden möchte. Wäre echt spitze!
ich weiß, ich habe vor kurzem eine sehr ähnliche Frage gestellt, aber ich bin da leider immer noch nicht wirklich weiter gekommen.
Ich habe heute mal ein Beispiel entwickelt und wollte euch nochmal bitten, mir hier weiter zu helfen. Dazu habe ich folgende zwei Klassen angelegt. Keine Angst! So lange ist das aber nicht.
Ich habe mir überlegt, ein Rechenprogramm zu erstellen, in dem man zu schreibende Prüfungen anlegt und die Noten, die man in den Prüfungen erzielt hat speichert.
1) Hier werden die Prüfungen ('abteilung') angelegt. Jede Prüfung hat die Attribute pruefung (= der Name), punkte und note. Und ein paar Getter und Setter, nichts spektakuläres.
Java:
public class Rechenergebnis {
String pruefung;
double punkte;
double note;
public void setpruefung(String pruefung){
this.pruefung=pruefung;
}
public String getpruefung(){
System.out.println("Die Pruefung heisst: "+pruefung);
return pruefung;
}
public void setpunkte(double punkte){
this.punkte = punkte;
}
public double getpunkte(){
System.out.println("Die Pruefungg bringt: "+punkte+" punkte Punkte.");
return punkte;
}
public void setnote(double note){
this.note = note;
}
public double getnote(){
System.out.println("Sie haben die Note: "+note+" erreicht.");
return note;
}
}
2) Mithilfe einer zweiten Klasse will ich nun die Noten speichern. Später will ich den Durchschnitt errechnen. Ich habe nun ein Array mit 3 Rechenergebnissen angelegt.
Nun habe ich mir das so überlegt, in der ersten Methode soll das Ergebnis einer bestimmten Prüfung hinzugefügt werden und mit anzahl wird gezählt, wieviele Rechenergebnisse im Array schon sind.
Java:
public class rechendurchschnittsrechner{
private Rechenergebnis[]ergs = new Rechenergebnis[3];
private int anzahl;
public void fuegehinzu(Rechenergebnis re){
if(re != null){
if(anzahl<ergs.length){
ergs[anzahl]=re;
anzahl++;
}
}
}
public int getAnzahl(){
return anzahl;
}
}
Das Problem habe ich nun aber in der Anwendungsklasse. Ich habe das hier unten versucht. Vom Gedankengang her: Ich habe eine Prüfung EidiL angelegt und dann verschiedene Methoden in Rechenergebnis aufgerufen. EidiL ist ja eine Instanz davon.
Nun beginnt aber mein Problem: Ich weiß echt nicht, wie ich nun rüber zu dem rechendurchschnittsrechner komme. Ich wollte die dortigen Methoden erst mit EidiL aufrufen, da das ja aber keine Instanz von rechendurchschnittsrechner ist, ging das natürlich nicht. Dann habe ich mir überlegt, eine neue Instanz von rechendurchschnittsrechner anzulegen, aber dann kann ich zum einen nicht etwas aus der Klasse Rechenergbnis übergeben, zum anderen stehen die beiden Instanzen der unterschiedlichen Klassen ja gar nicht in Verbindung.
Java:
public class RechenergebnisAW{
public static void main (String[]Args){
notendurchschnittsrechner ndEidI = new notendurchschnittsrechner();
String[] Rechnen = new String[3];
Rechnen[0]="Materialwirtschaft";
Rechnen[1]="Logistik";
Rechnen[2]="Finanzierung";
Rechenergebnis EidI = new Rechenergebnis();
EidiL.setpruefung("Einfuehrung in die Industrielle Logistik");
EidiL.getpruefung();
EidiL.setpunkte(9);
EiiLI.getpunkte();
EidiL.setnote(2.0);
EidiL.getnote();
ndEidiL.fuegehinzu(2.0);
ndEidiL.getAnzahl();
}
}
Ist das Problem verständlich? Ich habe hier echt noch ein grundlegendes Problem und wäre über Hilfe sehr erfreut!
Ich möchte die beiden oberen Klassen eigentlich genau so verwenden, weil sie für mich so Sinn machen. Wie müsste nun die Anwendungsklasse dazu aussehen? Wäre super, wenn mir da jemand einmal eine 'Muster'lösung oder was in der Art dazu geben könnte, damit ich mal auf einen Blick sehe, wie ich vorgehen muss, wenn ich mehrere nicht verwandte Klassen verwenden möchte. Wäre echt spitze!