Object in Array

TUBO

Mitglied
Hallo liebes Forum,

ich versuche zurzeit eine kleine Adressverwaltung zusammenzubauen. Ich habe dazu zwei Klassen erstellt. Die erste Klasse Adressverwaltung enthält die main-Methode und die zweite Klasse Adressen. Nun besteht mein Problem darin, dass ich gerne die gespeicherten Adressen ausgeben möchte in der Form "Adresse 1 : Name, Adresse, PLZ". In meinen Programm werden anscheinend nur die Refrenzen zu den Objekten ausgegeben, jedoch möchte ich auf die Inhalte der einzelnen Objekte zugreifen. Wie genau mache ich das? Ich dachte mir vieleicht mit getter-Methoden ?

Java:
package adressVerwaltung;

import java.util.*;

public class Adressverwaltung {


	static Object [] adressenfeld ;
	static boolean beenden = false;
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		
		System.out.println("====Adressverwaltung====");
		
		while(beenden == false){
		
			System.out.println("Welche Funktion möchten Sie ausführen?");
			System.out.println("1.Adressen hinzufügen\n2.Adressen ausgeben");
			System.out.println("Mit der Eingabe von 0 beenden Sie das Programm");
		
			String antwort = scan.nextLine();
				if(antwort.equals("1")){
					
					System.out.println("Wie viele Adressen wollen Sie speichern?");
					int anzahl = scan.nextInt();
					adressenfeld = new Object[anzahl];
					
					for(int i=0; i<anzahl; i++){
						Scanner scan2 = new Scanner(System.in);
						System.out.println("Geben Sie den Namen ein");
						String name = scan2.nextLine();
						System.out.println("Geben Sie die Adresse ein");
						String adresse = scan2.nextLine();
						System.out.println("Geben Sie die PLZ ein");
						int plz = scan2.nextInt();
			
						adressenfeld[i] = new Adressen(name, adresse, plz);
					}
				}if(antwort.equals("2")){
                                        // Inhalte der Adressen ausgeben
					for(int j=0; j<adressenfeld.length; j++) {
						System.out.println(adressenfeld[j]);
						
					}
				}if(antwort.equals("0")){
					beenden = true;
				}
				else{
					
				}
				
			}
		}
	}

Java:
package adressVerwaltung;

public class Adressen {
	String name;
	String adresse; 
	int plz;

	public Adressen(String name, String adresse, int plz) {
		this.name = name;
		this.adresse = adresse;
		this.plz = plz;
	}
}
 
Mach aus dem Object Array ein Adressen Array, dann kannst du auf die Attribute zugreifen. Alternativ in der Adressen Klasse die toString Methode überschreiben.
 
Ich würde auch die toString() Methode überschreiben, dann kannst du die Art deiner Ausgabe auch so anpassen, wie du das möchtest.
Zudem würde ich persönlich, lass mich da gerne korrigieren, den Klassennamen "Adressen" in "Adresse" umwandeln, das ist irgendwie genauer und dann würde ich, damit du später bei größeren Projekten noch weißt, welche genaue Klasse in dem Array vorhanden ist und auch damit du einen Fehler bekommst, wenn du ein Objekt mit einem anderen Typ in dieses Array einfügst anstatt
Java:
static Object [] adressenfeld ;
lieber
Java:
static Adresse[] adressenfeld;
schreiben
 

Neue Themen


Zurück
Oben