ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
1321
1321
EMPFEHLEN
-
Hallo liebe tutorial.de mitglieder
Ich bin neu hier und bräuchte eure Hilfe beim lösen einer aufgaben Stellung.
Ich habe den Anfang geschaft aber bin jetzt an einer Stelle zum stotern gekommen und hoffe das ihr mir einen ansatz geben könnt wie man es Lösen könnte.
DIe aufgabenstellung steht immer ganz oben im CODE:
Hier unten habe ich erst mal eine Klasse namens Buch erstellt und die methoden definiert.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
/* Erstellen Sie eine Java-Klass Buch fuer die Repraesentation von Buecher. Jedes Buch habe • einen Titel, • einen Autor, • eine Seitenzahl und • einen Preis. Sehen Sie fuer Titel, Autor, Seitenzahl und Preis entsprechende Instanzvariablen vor. Sorgen Sie dafuer, dass ausserhalb der Klasse Buch nicht auf die Instanzvariablen zugegriffen werden kann (siehe Foli- en 27–28). Stellen Sie stattdessen sogenannte Getter- und Setter-Methoden bereit, mit denen die Eigen- schaften Titel, Autor, Seitenzahl und Preis fuer ein Buch abgefragt bzw. gesetzt werden koennen (vgl. Folien 29–31). Hinweis: Sehen Sie keine main-Methode in der Klasse Buch vor. * * */ public class Buch { //Eigenschaften private String titel; private String autor; private int seitenzahl; private double preis; //Titel abfragen String getTitel() { return titel; } //Titel zuweisen void setTitel( String neuTitel) { titel = neuTitel; } //Autor abfragen String getAutor() { return autor; } //Autor zuweisen void setAutor(String neuAutor) { autor = neuAutor; } //Seitenanzahl abfragen int getSeitenzahl() { return seitenzahl; } //Seitenzahl zuweisen void setSeitenzahl( int neuSeitenzahl) { seitenzahl = neuSeitenzahl; } //Preis abfragen double getPreis() { return preis; } //Preis zuweisen void setPreis(double neuPreis) { preis = neuPreis; } }
Jetzt habe ich eine andere Klasse namens druckBuecher erstellt und dort die daten von den Büchern eingetragen die dann abgerufen werden sollen.
Die abruf methode soll soweit ich das verstanden habe unter dem punk " public static void druckeBuecher(Buch[] buecher) " stehen.
Nur komme ich nicht drauf wie ich die drei Bücher im CODE mit einem schlag ausgeben kann.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
/*Erstellen Sie in einer weiteren Klasse (ausserhalb der Klasse Buch und in einer separaten Quelltext- Datei) eine Methode mit folgender Signatur: public static void druckeBuecher(Buch[] buecher) Diese Methode soll zu allen Buch-Objekten, die durch das Feld buecher referenziert werden, Titel, Autor, Seitenzahl und Preis auf der Konsole ausgeben. Erstellen Sie weiterhin eine main-Methode, in der Sie • ein Feld fuer Buch-Objekteanlegen, • Buch-Objekte erzeugen und deren Referenzen in dem Feld speichern, • Titel, Autor, Seitenzahl und Preis fuer die Buecher setzen und • abschließend die Methode druckeBuecher aufrufen. Was passiert in der Methode druckeBuecher, wenn nicht jede Komponente des Feldes buecher ein Buch-Objekt referenziert? Wie koennen Sie dies verhindern? * * */ public class druckeBuecher { public static void druckeBuecher(Buch[] buecher) { //keine ahnung wie ich hier die daten von unten ausgeben soll } public static void main(String[] args) { Buch algodat = new Buch(); Buch java = new Buch(); Buch java6 = new Buch(); algodat.setTitel("Algorithmen und Datenstrukturen"); algodat.setAutor("T.Ottmann, P.Widmeyer"); algodat.setSeitenzahl( 716 ); algodat.setPreis( 61.50 ); java.setTitel("Grundkurs Programmieren in Java"); java.setAutor("D.Ratz, J.Scheffler, D.Seese, J.Wiesenberger"); java.setSeitenzahl( 687 ); java.setPreis( 34.90 ); java6.setTitel("Java von Kopf bis Fuß"); java6.setAutor("K.Sierra, B.Bates"); java6.setSeitenzahl( 688 ); java6.setPreis( 49.90 ); System.out.println(algodat); System.out.println(java); } }
Ich bedanke mich im vorraus für eure Hilfe
-
09.04.10 17:28 #2
Zum Beispiel so:
GrüßeCode java:1 2 3 4 5
public static void druckeBuecher(Buch[] buecher) { for(int i = 0; i<buecher.length; i++){ System.out.println(buecher[i].getTitle()+" (von "+buecher[i].getAutor()+"): "+buecher[i].getSeitenzahl()+" Seiten, Preis: "+buecher[i].getPreis()+" €\n"); } }
Jellysheep
-
09.04.10 18:08 #3
Um sich Arbeit bei der Ausgabe zu sparen, kann man in der Klasse Buch noch die Methode toString() überlagern. In der Aufgabenstellung konnte ich nichts finden, was das verbietet.
Also folgedes in die Buch-Klasse hinzufügen:
Code java:
Und die druckeBuecher()-Methode ist dann nur noch ein Klacks:
Code java:1 2 3 4 5
public static void druckeBuecher(Buch[] buecher) { for(int i = 0; i<buecher.length; i++){ System.out.println(buecher[i]); } }
Ich persönlich bevorzuge allerdings die for-each-Schleife und dann würde das so aussehen:
Code java:1 2 3 4 5
public static void druckeBuecher(Buch[] buecher) { for( Buch buch : buecher){ System.out.println(buch); } }
Damit das auch funktionieren kann musst du deine drei Bücher noch in ein Buch-Array einfügen und dieses dann einfach an die Methode druckeBuecher() übergeben und fertig.Man sagt, das Schwert eines Samurai sei seine Seele ...
Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.
Das Schmieden ist eine Kunst; Das Schreiben auch ;)
-
Danke für eure Hilfe.
Es wurde auch gestern abend eine Lösung bereitgestellt im Internet.
Die Lösung ist so ähnlich wie die von " Akeshihiro "
LG
Ähnliche Themen
-
Java Socket: Objekte, Datei und dann wieder Objekte Übertragen
Von undertaker im Forum JavaAntworten: 2Letzter Beitrag: 27.06.07, 10:57 -
OLE-Objekte
Von Fry789 im Forum PHPAntworten: 0Letzter Beitrag: 15.09.05, 11:37 -
Objekte selektieren und Objekte einfärben
Von wal im Forum Cinema 4DAntworten: 4Letzter Beitrag: 09.02.04, 18:00 -
3d Objekte
Von Mace im Forum Cinema 4DAntworten: 3Letzter Beitrag: 23.12.03, 07:11 -
3d Objekte
Von psycotis im Forum PhotoshopAntworten: 17Letzter Beitrag: 22.02.02, 14:47





Zitieren
Login





