Ich mache eine Zuweisung für die Klasse, die erfordert, dass ich ein Array erstellen und hinzufügen, wie der Benutzer wünscht. Hier ist, was ich bisher:Java - Hinzufügen zu einem Array mit copyOf
public void add(Scanner stdIn)
{
entries = new String[1];
Contact add = new Contact(); // Instantiate new Contact instance
String name;
System.out.print("Enter the contact's name: ");
name = stdIn.next();
add.setName(name); // set name in Contact class
String address;
System.out.print("Enter the contact's address: ");
address = stdIn.next();
add.setAddress(address); // set address in Contact class
String phone;
System.out.print("Enter the contact's phone number: ");
phone = stdIn.next();
add.setPhone(phone); // set phone number in Contact class
String email;
System.out.print("Enter the contact's email address: ");
email = stdIn.next();
add.setEmail(email); // set email address in Contact class
final int N = entries.length;
entries = Arrays.copyOf(entries, N + 1);
entries[0] = add.toString();
System.out.print(Arrays.toString(entries));
} // end add
Ich bin nicht allzu vertraut mit Arrays verwenden, so versuchen, das alte Array zu kopieren und ein neues Array mit den alten Informationen zu erstellen, sowie neue Informationen hinzuzufügen mich anspielt. Die toString Methode sieht wie folgt aus:
@Override // Overrides method from java.lang.Object
public String toString() // Displays the info for a contact in order
{
return getName() + "\t" + getAddress() + "\t" + getPhone() +
"\t" + getEmail();
}
Wenn Sie weitere Klarstellung benötigen, lassen Sie es mich wissen! Danke für die Hilfe!
Sie uns ein Array gezwungen werden? Warum nicht eine ArrayLIst verwenden? Darüber hinaus müssen Sie Ihr Array/Ihre Liste außerhalb dieser Methode definieren, andernfalls wird es den Bereich verlassen, wenn die Methodenausführung abgeschlossen ist und die Daten verloren gehen. Veröffentlichen Sie auch Ihre gesamte Klasse. – pczeus
Ich denke, du meinst "entziehen" und nicht "anspielen". Zeige nicht auf dein Problem an; Bitte sei explizit. Was genau funktioniert nicht? Erhalten Sie Fehlermeldungen? Eine Ausnahme mit einem Stack-Trace? Falsche Ausgabe? – rgettman
Danke @pczeus. Ich bin gezwungen, ein Array zu verwenden, also war deine Lösung perfekt! Ich sehe genau, was Sie mit dem Umfang des Arrays meinen, also war es eine großartige Lösung, diese Änderungen vorzunehmen, um das Array außerhalb der add-Klasse zu halten. Jetzt muss ich herausfinden, wie man die Einträge entfernt und aktualisiert: D Danke nochmal für deine Hilfe! –