Adressbuchaufgabe in Java

Rpgrafx

Mitglied
Hi Leute,
irgendwie bin ich glaube ich zu dumm diese Aufgabe zu lösen.

Also bisher habe ich 2 Klassen:
Address mit den Feldern: String street, String city, String postcode, String country
Entry mit den Feldern: String firstName, String lastName, String email, String tel,
Address address.
Aufgabe:
a) Die dritte Klasse "Addressbook" soll ein (privates) Array entries mit Elementtyp Entry und Länge SIZE haben. SIZE soll als static final int Variable mit 50 definiert werden. Im Array
enthalen nicht benutzte Einträge ein null; benutzte und nicht benutzte Einträge können
beliebig gemischt werden. (Initialisieren Sie alle Felder in allen Klassen über Konstruktoren).

mein Ansatz:
Code:
public class Addressbook {
   static final int SIZE = 50;
   Addressbook(Entry[]a){
   Entry[]entries = new Entry[SIZE];
   int i;
   while (i <= entries.length){
     entries[i]= null;
     i++;
   }
   }
das dürfte doch so passen. Damit wird doch ein Addressbuch erstellt , in dem alle Arrayfelder "null" enthalten.

b) public boolean insert (String firstName, String lastName, String email, String tel, String street, String city, String postcode, String country ) in Addressbook fügt an der ersten
möglichen Stelle in entries einen Eintrag zum Addressbuch hinzu und gibt true zurück,
falls das Einfügen erfolgreich war.Sind die SIZE Einträge voll, gibt die Methode false zurück!

hier fehlt mir jeglicher Ansatz!

Hoffentlich könnt ihr mir helfen! Bin noch der totale Java Anfänger

rpGrafx
 
Also, falls ich Dich richtig verstehe, ist Dein Problem, herauszufinden, bis wohin das Array schon gefüllt ist? Da hilft die Array-Eigenschaft "length". Da die Zählung bei 0 anfängt, kannst Du also einfach an der stelle entries[entries.length] Deinen neuen Eintrag einfügen.

Hoffe mal, das hilft weiter.

Gruß

henning-malaysia
 
Code:
public boolean insert (String firstName, String lastName, String email, String tel, String street, String city, String postcode, String country )
{
      int i = 0;
      while (i < entries.length){
            if (entries[i]== null)
            {
                  entries[i] = new Entry("a","b","c","d","e","f","g","h");
                  return true;
            } 
            i++;
      }
      return false;
}

So ungefähr jedenfalls ..

Eigentlich müsste :
Code:
while (i <= entries.length){
entries[i]= null;
i++;
}
meiner Meinung nach eine Nullpointer Exception werfen da bspw. ein Array mit der Länge 10 nur bis Array[9] definiert ist .. Weil man da ja bekanntlich bei 0 anfängt zu zählen ..

Also müsste da eigentlich :
while (i < entries.length) stehen, denke ich ..

Gruß Stefan
 
Zuletzt bearbeitet:
Zurück