Adressbuch

Diskutiere Adressbuch im Java Basics - Anfänger-Themen Forum; Hallo Leute, ich möchte eine Klasse ArrayAdressBook1 für einfache Adressbücher schreiben mit folgenden Eigenschaften: Ein Adressbuch besitzt ein...

  1. scratchy1
    scratchy1 Neues Mitglied
    Hallo Leute,
    ich möchte eine Klasse ArrayAdressBook1 für einfache Adressbücher schreiben mit folgenden Eigenschaften:
    Ein Adressbuch besitzt ein Attribut persons, welches vom Typ Person[]
    ist (wir verwenden hier die Klasse Person:
    Code (Java):
    public class Person {
        String name;
        int birthday; /* in der Form JJJJMMTT */

        Person(String name, int birthday) {
            this.name = name;
            this.birthday = birthday;
        }

    void print() {
    System.out.println("Name: " + this.name);
    System.out.println("Geburtsdatum: " + this.birthday);
    }
    boolean isBirthday(int date) {
    return birthday % 10000 == date % 10000;
    // Das Prozentzeichen ist der Modulo-Operator, welcher
    // den Rest einer ganzzahligen Division liefert.
    }
    }
    ).
    Dieses Attribut soll im Konstruktor des Adressbuchs mit einem neu erzeugten Array initialisiert
    werden, wobei die Größe des Arrays dem Konstruktor als Parameter
    übergeben wird. Wird eine Größe kleiner als 1 übergeben, soll 1 als Größe
    verwendet werden.
    Dies habe ich versucht in unterem noch folgendem Code zu implementieren.
    Ich möchte aber noch folgendes zusätzlich tun:

    Das Adressbuch hat eine Methode addPerson(), welche eine Referenz auf
    ein Person-Objekt als Parameter akzeptiert und die übergebene Person an
    die erste noch freie Stelle in das Array persons schreibt. Das Array wird
    also „von unten“ (beginnend mit Index 0) befüllt. Um die Einfügestelle ermitteln
    zu können, bekommt das Adressbuch ein Attribut, welches den Index
    des nächsten noch unbelegten Array-Elements repräsentiert. Dieses Attribut
    muss natürlich bei Veränderungen aktualisiert werden.
    Ok und nun kommt mein Versuch:

    Code (Java):
    public class ArrayAdressBook1 {
        Person[] persons;

        int startarraylength;

        ArrayAdressBook1(int startarraylength) {

            this.startarraylength = startarraylength;
            // this.startarraylength ist das Attribut des Objektes ArrayAdressBook.
            if (this.startarraylength < 1) {
                this.startarraylength = 1;
            }
            this.persons = new Person[startarraylength];

        }


        void addPerson(){
            for (int i=0;i<persons.length;i++){
            persons[i]= this.persons[i];
            }
         }
    }
    Nun meine Frage:
    Ich dachte, ich hätte mit persons[i]=this.persons das i.te Person-Objekt aus persons mit this angesprochen(das implizit übergeben wurde) und im Array an i-ter Stelle eingefügt.
    Ich bin totaler Anfänger und wollte euch fragen, was ihr davon haltet, ob meine Idee schonmal in die richtige Richtung geht oder ich mir ganz was anderes überlegen/wissen sollte.[/i]
     
    Zuletzt von einem Moderator bearbeitet: 4. Dez. 2018
  2. Vielleicht hilft dir dieses Training hier weiter.
  3. mihe7
    mihe7 Bekanntes Mitglied
    Bitte benutze Code-Tags: [code=Java]Dein Code[/code]. Dann ist Dein Code für alle leichter lesbar. Außerdem werden Array-Indizes der Art [i] sonst durch kursive Formatierung ersetzt.
     
  4. Javinner
    Javinner Bekanntes Mitglied
    Schön, dass du dich für ein sehr facettenreiches Hobby entschieden hast. Ich persönlich halte nicht viel davon, weil es ein reiner Krampf zu werden scheint. Da gibt es bessere Übungsmethoden, sich mit Arrays vertraut zu machen.

    Wie habe ich es umgesetzt?
    die Person hat:
    • Vorname (String)
    • Nachname (String)
    • Geburtsdatum (LocalDate)
    • Adresse (eine eigenständige Klasse, bietet mehreren Adressen Platz)
    • Kontaktdaten (eine eigenständige Klasse, bietet mehreren Einträgen Platz (Telefon, eMail))
    • Information (Anmerkungen, Informationen in Textform) (List<String>)
    Ein PersonenBuch hat
    • List<Person> personen
    man kann
    • Personen hinzufügen
    • Personen entfernen
    • Personen gruppieren
    • Personenlisten verwalten

    Was braucht man dafür an Kenntnissen
    • Grundkenntnisse über imperative Programmierung
    • Grundkenntnisse über Objektorientierte Programmierung
    • Grundkenntnisse über Listen und Umgang mit diesen
    • Grundkenntnisse über grafische Oberflächen in Java (Swing, FX)
    Wenn die Kenntnisse noch ausstehen, dann würde ich das Projekt auf die Wartebank schieben und mich den Grundlagen widmen. Umso schneller kommt man im Endeffekt ans Ziel!
     
  5. mihe7
    mihe7 Bekanntes Mitglied
    @scratchy1 Der zweite Satz hat keinen Bezug zum ersten - vermute ich zumindest stark :)
     
  6. Robat
    Robat Bekanntes Mitglied
    Warum braucht man dafür Grundkenntnisse über grafische Oberflächen? So ein Programm lässt sich mEn wunderbar als Konsolenapplikation umsetzen und dient super zur Übung / Festigung der anderen "Grundkenntnisse"
     
  7. Javinner
    Javinner Bekanntes Mitglied
    Das grafische Darstellen des Buches so wie der sich langsam einstellende Erfolg lösten euphorische Zustände bei mir aus, eventuell ist dieser Kick auf für den TE! :)

    Aber du hast Recht, GUI ist hier nicht entscheidend und kann im Nachhinein hinzugefügt werden.
     
  8. mihe7
    mihe7 Bekanntes Mitglied
    Jaaaa, auf dem 64er mit Speichern auf der 5,25"-Floppy und Locher-Kapazitätsverdopplung - ich glaub, ich muss das Teil mal wieder auspacken :D
     
  9. Robat
    Robat Bekanntes Mitglied
    @mihe7 das ist zum Glück glück nicht mehr meine Zeit gewesen :D
     
  10. mihe7
    mihe7 Bekanntes Mitglied
    Zum Glück? :rolleyes: Ich spreche hiermit jedem mein tiefstes Beileid aus, der das nicht mitmachen durfte.
     
    Thallius gefällt das.
  11. Robat
    Robat Bekanntes Mitglied
    Mal zum reinschnuppern / ausprobieren ja - täglich bräuchte ich das nich mehr :p
     
  12. Wenn du Java lernen möchtest, empfehlen wir dir dieses Online-Training hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Adressbuch - Ähnliche Themen

Adressbuch
Adressbuch im Forum Java Basics - Anfänger-Themen
Adressbuch programmieren
Adressbuch programmieren im Forum Hausaufgaben
Fehlersuche Adressbuch *Anfänger*
Fehlersuche Adressbuch *Anfänger* im Forum Java Basics - Anfänger-Themen
Fragen zur Implementierung eines Adressbuches
Fragen zur Implementierung eines Adressbuches im Forum Java Basics - Anfänger-Themen
Adressbuch Klassen
Adressbuch Klassen im Forum Java Basics - Anfänger-Themen
Thema: Adressbuch