tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
1321
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jaykop jaykop ist offline Grünschnabel
    Registriert seit
    Apr 2010
    Beiträge
    2
    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
     

  2. #2
    Avatar von Jellysheep
    Jellysheep Jellysheep ist offline Mitglied Platin
    Registriert seit
    Jan 2009
    Ort
    Arbeitsspeicher
    Beiträge
    689
    Zum Beispiel so:
    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].getTitle()+" (von "+buecher[i].getAutor()+"): "+buecher[i].getSeitenzahl()+" Seiten, Preis: "+buecher[i].getPreis()+" €\n");
        }
    }
    Grüße
    Jellysheep
     
    Grüße, Jellysheep

    Jeder Helfer freut sich über eine Bewertung oder ein Danke.

    Freiheit für die Gummibärchen, nieder mit den Tüten!
    Link :D

  3. #3
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    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:
    1
    2
    3
    4
    
    @Override
    public String toString() {
        return String.format("%s[%s, %s, %d, %.2f]", getClass().getName(), getTitel(), getAutor(), getSeitenzahl(), getPreis());
    }

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

  4. #4
    jaykop jaykop ist offline Grünschnabel
    Registriert seit
    Apr 2010
    Beiträge
    2
    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

  1. Antworten: 2
    Letzter Beitrag: 27.06.07, 10:57
  2. OLE-Objekte
    Von Fry789 im Forum PHP
    Antworten: 0
    Letzter Beitrag: 15.09.05, 11:37
  3. Objekte selektieren und Objekte einfärben
    Von wal im Forum Cinema 4D
    Antworten: 4
    Letzter Beitrag: 09.02.04, 18:00
  4. 3d Objekte
    Von Mace im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 23.12.03, 07:11
  5. 3d Objekte
    Von psycotis im Forum Photoshop
    Antworten: 17
    Letzter Beitrag: 22.02.02, 14:47