Variablennamen aus Objekten lesen

Status
Nicht offen für weitere Antworten.
S

skrolle

Gast
Hallo zusammen,

ich habe ein kleines Problem. Ich habe eine Adressdatenbank programmiert und möchte die nun etwas verbessern.

Aufbau:

Objekt Adresse

mit den public Strings name, vorname, telefonnumer


In der Main habe ich nun auch schon einige Objecte angelegt und in einem ArrayList gespeichert.
Da ich aber noch nicht wirklich weiß, wieviele Strings die Objekte Adresse haben werden (evtl. noch Straße, Hausnummer, etc) und ich die anderen Klassen nicht mehr anpassen möchte, dachte ich mir, dass es doch einen Aufruf geben muss, der mir alle Variablen mit Bezeichnung der Klasse Adresse wiedergeben kann! verständlich?!

Also z.B. bei der Ausgabe in einer anderen Klasse

Array bezeichnungen = Objekt1.gib_mir_Deine_Variablenbezeichnung();

for(int i = 0; array != null; i++){
System.out.println(array);
}


--------

Ausgabe

nachname
vorname
telefonnummer

aber nicht:

Meier
Hugo
0815 - 4711

so dass ich irgendwann mal sagen kann

System.out.println(this.array);

und dann

Meier
Hugo
0815 - 4711

kommt!

Für eine Hilfe wäre ich sehr dankbar.

Gruss

skrolle
 

K-Man

Bekanntes Mitglied
Ich weiß nicht, ob ich dir helfen kann. Aber mal sehen.

Du kannst doch einfach alle deine Daten als Membervariablen in deiner Klasse Adresse speichern. Wird ein Objekt erzeugt, dann werden alle Daten zunächst auf 'null' gesetzt. Somit könntest du nachvollziehen, welche Daten vorhanden sind, da der Rest auf 'null' steht.

Du kannst auch eine neue Klasse schreiben, die von deiner Adresse-Klasse vererbt wurde. Die neue Klasse verfügt über dieselben Membervariabeln wie die "alte" Vaterklasse. Zusätzlich kannst du aber neue Eigenschaften hinzufügen.

Es gibt da viele, mehr oder weniger gute Ansätze. Aber so ganz hab ich dein Problem noch nicht verstanden. Welche Klassen willst du nicht mehr ändern?

Aber wenn du wirklich nur ne Methode brauchst, die deine Membervariabeln zurückliefert, dann schreib sie dir doch selber...
Code:
public class Adresse
{
    private name;
    private vorname;
    private telefonnumer;

    [...]


    publiv void getMemberVariables()
    {
        return String ret = {"name", "vorname", "telefonnummer" };
    }

    [...]

}

Dies ist zwar ein schlechter Programmierstiel, aber es würde das machen, was du willst.
Sollte ich dir nicht geholfen haben, dann versuch mal, dein Problem anders zu formulieren. Vielleicht kapier ichs dann auch :oops:
 
S

skrolle

Gast
mh...

wir haben eines gemeinsam, ich verstehe Dich und Du mich nicht! :))

Also, ich habe momentan 2 Klassen

1. Klasse

public class Adresse {



public String nachname;
public String vorname;
public String telefonnummer;


public Adresse() throws IOException{

BufferedReader r = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Bitte Nachnamen eingeben:");

this.nachname = r.readLine();
System.out.println("Bitte Vornamen eingeben:");
this.vorname = r.readLine();
System.out.println("Bitte Telefonnummer eingeben:");
this.telefonnummer = r.readLine();

}

public Adresse(ArrayList re){
this.nachname = (String) re.get(0).toString();
this.vorname = (String) re.get(1).toString();
this.telefonnummer = (String) re.get(2).toString();
}

}


und dann eine weitere (hier gekürzt):

public class Adressbuch extends ArrayList {

public static void main(String args[]) throws IOException {
Adressbuch buch = new Adressbuch();
buch.einlesen();

}

public void einlesen() throws IOException {

BufferedReader r = new BufferedReader(new InputStreamReader(System.in));


Adresse martin = new Adresse();
this.add(martin);
.....


wenn ich nun eine Methode Ausgabe programmieren möchte, so muss ich ja wissen, wie die Variablennamen in dem Objekt Martin heißen.

z.B. System.out.println(Martin.nachname);

//mal davon abgesehen, dass das so nicht klappen würde wegen dem ListArray


Gibt es keinen Befehl, der mir sagt, welche Variablen es in der Klasse Adresse gibt? Dann kann ich die Ausgabe so programmieren, dass automatisch alle Daten ausgegeben werden(egal wieviele Strings ich in Adressen anlegen), ohne z.B. die Methode Ausgabe() anzupassen.

Wenn ich also später sage, es gibt in Adresse nicht nur nachname, vorname und telefonnummer, sondern auch strasse, hausnummer, etc, will ich nicht alle Klassen und Methoden anpassen müssen.

Ich hoffe jetzt ist es evtl. klarer?! *hoffentlich*

gruss

skrolle
 

K-Man

Bekanntes Mitglied
Ich hab heut Nacht nicht mehr soviel Zeit, deswegen nur kurz ein Vorschlag. Sollte es nicht gehen, oder ich dich wieder nicht verstanden haben, dann mach ich das morgen genauer ;)

Versuch mal, dass du deine Daten nicht in einer ArrayList, sondern in einer Hashtable speicherst. Du kannst dann abfragen, welche Schlüssel in deiner Hashtable vorhanden sind...zB liefert keySet() die vorhandenen Schlüssel oder mit contains(key) kannst du abfragen, ob dieser Key in der Hashtable vorhanden ist.

PS: Falls du nicht weißt, was ne Hashtable ist. Es ist so ne Art Liste, die Elemente zu einem bestimmten Key speichert. Mit Angabe des Keys kannst du somit das zugehörige Element bekommen...
 

Jaraz

Bekanntes Mitglied
Hi,

dynamische Sachen kann man immer in Arrays oder Collection speichern, also das was du schon mit mehreren Adressen machst, kannst du auch mit den Feldern einer Adresse machen. Ungefähr so:

Code:
import java.util.*;

public class Start {

	public static void main(String[] args) {
		Adresse adresse = new Adresse();
		List elemente = adresse.getElemente();
		for (int i = 0; i < elemente.size(); i++) {
			System.out.println(((Element)elemente.get(i)).getName());
			// einlesen
		}
	}
}

import java.util.*;

public class Adresse {
	private List elemente;
	
	public List getElemente() {
		return elemente;
	}
	
	public void setElemente(List elemente) {
		this.elemente = elemente;
	}
	
	public Adresse(){
		elemente = new ArrayList(2);
		elemente.add(new Element("name"));
		elemente.add(new Element("strasse"));
	}
}

public class Element {

	private String name;
	private Object wert;
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public Object getWert() {
		return wert;
	}
	
	public void setWert(Object wert) {
		this.wert = wert;
	}
	
	public Element(String name) {
		this.name = name;
	}
}

Gruß Jaraz
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Lange Variablennamen schlechter Programmierstyle? Java Basics - Anfänger-Themen 4
P Variablen Variablennamen in der Ausgabe verweden Java Basics - Anfänger-Themen 4
E Variable in Variablennamen? Java Basics - Anfänger-Themen 6
O Variablennamen verketten Java Basics - Anfänger-Themen 16
vandread variablen in variablennamen? Java Basics - Anfänger-Themen 11
X Frage zu Variablennamen Java Basics - Anfänger-Themen 5
O VariablenNamen über Schleife ansprechen var[i] Java Basics - Anfänger-Themen 2
T Variablennamen automatisch erstellen Java Basics - Anfänger-Themen 6
M Variablennamen als Parameter gleich Var. als Klassenvariable Java Basics - Anfänger-Themen 2
W Objekt-Namen aus Variablennamen erstellen Java Basics - Anfänger-Themen 7
G Returnwert als Variablennamen benutzen Java Basics - Anfänger-Themen 6
R dynamische Variablennamen Java Basics - Anfänger-Themen 3
Y Dynamisch Variablennamen generieren? Java Basics - Anfänger-Themen 9
K Variable Menge an Variablennamen per Schleife erstellen Java Basics - Anfänger-Themen 10
M Schleifenindex in Variablennamen einbauen Java Basics - Anfänger-Themen 9
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
T Kollision von 2 Objekten Java Basics - Anfänger-Themen 2
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
B Reflection ändern von Objekten in Objekten Java Basics - Anfänger-Themen 12
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
N Vererbung Queue bestehend aus Superclass- und Subclass-Objekten Java Basics - Anfänger-Themen 7
B Compiler-Fehler Array aus Objekten übergeben Java Basics - Anfänger-Themen 7
YAZZ Schlüsselworte Töten von Objekten Gameover Java Basics - Anfänger-Themen 2
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
districon Vergleichen von Objekten Java Basics - Anfänger-Themen 20
Zeppi OOP Array in Objekten Java Basics - Anfänger-Themen 4
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
JavaNoobi Try and Catch und übergabe von Objekten Java Basics - Anfänger-Themen 2
A Klasse Menge mit Objekten der Klasse Person Java Basics - Anfänger-Themen 8
S Auf Array aus Objekten zugreifen? Java Basics - Anfänger-Themen 1
D Mit Objekten rechnen, Textfield, JavaFX, Noob Java Basics - Anfänger-Themen 8
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
N Klassen Rekursion mit Feldern von Objekten Java Basics - Anfänger-Themen 14
D Operatoren Mit Objekten rechnen Java Basics - Anfänger-Themen 7
E Datentypen Einfügen von Objekten in eine Map Java Basics - Anfänger-Themen 2
S Pane nach speziellen Child Objekten durchsuchen Java Basics - Anfänger-Themen 3
B ID von unterschiedlichen Objekten bekommen? Java Basics - Anfänger-Themen 2
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
PaperHat Programmieraufgabe - Objekte in Objekten Java Basics - Anfänger-Themen 2
L Rechnen mit Objekten Java Basics - Anfänger-Themen 3
S werte von objekten in schleife verändern Java Basics - Anfänger-Themen 14
D Zusammenarbeit von Objekten Java Basics - Anfänger-Themen 1
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
Kornblume Nulltyp eines Arrays von Objekten? Java Basics - Anfänger-Themen 10
A Frage zur Aufgabe Uhrzeit einstellen mit Objekten Java Basics - Anfänger-Themen 18
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
G Klassen Call by Value auch bei Objekten? Java Basics - Anfänger-Themen 2
R Verständnisfrage zu Objekten u. Übergabeparameter Java Basics - Anfänger-Themen 8
arjoopy Kapselung Übergabe von Objekten aus ArrayList Java Basics - Anfänger-Themen 4
schoenosrockos Unterschied zwischen Objekten und vererbungen Java Basics - Anfänger-Themen 1
M Speichern von Objekten - Verfügbarkeit bei erneutem Aufruf Java Basics - Anfänger-Themen 3
R Methoden Methode ruft Methode auf, ruft Methode auf (mit Objekten) Java Basics - Anfänger-Themen 4
S Serialisierung: Laden von Objekten - Risiken? Java Basics - Anfänger-Themen 4
Shizmo PriorityQueue mit Objekten Java Basics - Anfänger-Themen 10
E Instanzieren von Objekten verkürzen Java Basics - Anfänger-Themen 1
F Interaktion von Objekten verschiedener Klassen... Java Basics - Anfänger-Themen 13
D Effiziente Verwaltung der Objekten und Unterobjekten Java Basics - Anfänger-Themen 18
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
L Subklasse von ArrayList nur mit bestimmten Objekten füllen Java Basics - Anfänger-Themen 1
E Erste Schritte Gute Erklärung zu Objekten / Klassen / Methoden / Sichtbarkeiten auf Deutsch Java Basics - Anfänger-Themen 3
S Problem mit augabe von Objekten Java Basics - Anfänger-Themen 3
T Junit Mockito: Instanz von inneren erzeugten Objekten Java Basics - Anfänger-Themen 4
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
W Was passiert mit Objekten die nicht in Objektvariablen initialisiert werden ? Java Basics - Anfänger-Themen 3
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
S Liste mit Objekten und Listen Java Basics - Anfänger-Themen 9
Y Gleiche Arrays aus einem Array mit Objekten Java Basics - Anfänger-Themen 5
K Min eines Arrays mit Objekten Java Basics - Anfänger-Themen 6
M Array mit Objekten lässt sich nicht auslesen Java Basics - Anfänger-Themen 10
T Statische Arrays von Objekten Java Basics - Anfänger-Themen 2
J Methoden Einfügen von Objekten nach Alphabet in ArrayList funktioniert nicht Java Basics - Anfänger-Themen 2
B Erste Schritte Anzeige von Graphics Objekten einzeln aktualisieren Java Basics - Anfänger-Themen 1
TheSorm Koordinaten von gedrehten Objekten Java Basics - Anfänger-Themen 4
D Bestimmte Werte von Objekten aus einer ArrayList in eine andere ArrayList kopieren Java Basics - Anfänger-Themen 14
B Aliasing bei null-Objekten Java Basics - Anfänger-Themen 3
O Java Erzeugung von neuen Objekten Java Basics - Anfänger-Themen 1
J Verständnisfragen zu dem Thema Objekten Java Basics - Anfänger-Themen 7
J Array von Objekten, wie schauts im Heap / Stack aus ? Java Basics - Anfänger-Themen 7
O Größe von Objekten Java Basics - Anfänger-Themen 5
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
kaoZ Best Practice Verständnisfrage Listener bei lokalen Objekten Java Basics - Anfänger-Themen 8
F Umgang mit referenzierten Objekten bei ArrayList Java Basics - Anfänger-Themen 1
M Löschen von Objekten während Iteration über Liste Java Basics - Anfänger-Themen 9
E Array von Objekten einer selbst definierten Klasse mit eindeutigem Namen Java Basics - Anfänger-Themen 2
C For schleife mit Array und Objekten Java Basics - Anfänger-Themen 17
kaoZ Input/Output Android : Deserialisieren von mehreren Objekten in einer Datei Java Basics - Anfänger-Themen 0
U Übergabe von Objekten Java Basics - Anfänger-Themen 0
C Werte aus zwei Objekten miteinander vergleichen Java Basics - Anfänger-Themen 3
Joew0815 Interface JSON Objekte aus Java Objekten erzeugen Java Basics - Anfänger-Themen 9
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
E Erste Schritte Sortieren von Objekten in doppelt-verlinkter Liste Java Basics - Anfänger-Themen 9
R addition von 2 Array Objekten Java Basics - Anfänger-Themen 5
V Grundlegendes Zu Objekten/Klassen Java Basics - Anfänger-Themen 10
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
C Probleme mit neuen Objekten Java Basics - Anfänger-Themen 3
S Erste Schritte Bluej Automatisches Einfügen von Objekten Java Basics - Anfänger-Themen 4
D ID von Objekten in Arraylist Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben