Variabler/dynamischer Objektname?

Status
Nicht offen für weitere Antworten.

mrfreeman12

Mitglied
Hallo! Also, muss gleich sagen: Hilfe benutzt -> nix zu dem Thema gefunden!
Ich habe folgendes Problem: ich habe eine Klasse AUTO. Nun kann der User (s)ein Auto in die Datenbank einfügen. Dafür muss doch ein Objekt der Klasse AUTO erstellt werden. Das passiert mit: AUTO auto1 = new AUTO(); Nun die Frage: wie kann ich den Objektnamen dynamisch erstellen. Wenn also ein neues Auto (neues Objekt) zugefügt wird, soll es dann auto2 heißen. Geht das überhaupt (dynamische Objketnamen)? Hab schon versucht den Objektnamen mit einer Variablen zu ersetzen, dann regt sich der Compiler über 2 gleichnamige Variablen oder so. Bitte hilft mir!
Danke für die Hilfe!
MfG
mrfreeman12
 

el_barto

Bekanntes Mitglied
mrfreeman12 hat gesagt.:
Hab schon versucht den Objektnamen mit einer Variablen zu ersetzen, dann regt sich der Compiler über 2 gleichnamige Variablen oder so.
??? auto1 ist der variablenname. variablennamen können nicht dynamisch erstellt werden. wüsste jedenfalls nicht wie.
 

mrfreeman12

Mitglied
Hi! Ich meinte damit das ich eine Variable habe z.B. String name="auto"+i; Und dann, wenn ich ein neues Objekt erstelle, den Objektname als name (also Variable) einsetze. name wird sich jedesmal ändern, wenn man der User ein neues Auto einfügen soll (i++). Doch wie gesagt das Ganze funzelt nicht.
 

el_barto

Bekanntes Mitglied
mir ist immer noch nicht ganz klar, was du vorhast. name ist die variable. dieser weist du den wert "auto" + i zu. bei i == 1 also "auto1". wenn du dann i um 1 erhöhst, weist du der variablen als nächstes "auto2" zu. danach "auto3" usw.
 
B

bygones

Gast
dynamische Bezeichnung geht in Java nicht....

Dafür musst du arrays oder Collections nehmen !!
 

marsias

Aktives Mitglied
Hi!

Habe verstanden was du willst.
Aber ist das so wichtig? Erstelle in deinem Objekt Auto eine
Variable name, und getter/setter dazu. dann kannst du darauf
zugreifen z.B. auto1.getName() .

Oder hilft es so nicht weiter?

Mfg
 

mrfreeman12

Mitglied
Es geht jetzt nicht um die Variable! Ich habe nur mit 'name' versucht den Objektnamen dynamisch zu machen. Das ging nicht. Was ich möchte, ist: Da ich nicht weiß, wieviele autos (Objekte der Klasse AUTO) erstellt werden, auf die Objekte trotzdem zugreifen können.
BEISPIEL: Klasse AUTO enthält Variablen, die Breite, Höhe etc. des Autos aufnehmen können. Nun steht in der Start-Klasse (main) "Drücken Sie 1 um ihr Auto einzutragen" Drückt der User 1 wird ein "neues" Objekt der Klasse AUTO erstellt. Drückt der User 2 werden zuerst alle eingetragenen Autos angezeigt, dann kann man auswählen, von welchem Auto man die Daten angezeigt bekommen will. Nun kommt der x-te User und will sein Auto eintragen! Er drückt 1 und Objekt 'autox' wird erstellt. Das Problem ist dieses X bzw. wie ich den an den Objektnamen ranbekomme.
Wie war es nochmal mit Arrays? Meinst du Objektarray? Hab auch schon daran gedacht, aber...
 

exorzist

Mitglied
deathbyaclown hat gesagt.:
wenn du von anfang an nicht weißt, wieviele Autos eingegeben werden bringen arrays nichts (du musst sie vorher fest definieren).

soweit ich weiss, oder zumindest dachte ich das immer, kann man Arrays erweitern, wenn notwendig?! Irre ich mich?
 
B

bygones

Gast
exorzist hat gesagt.:
deathbyaclown hat gesagt.:
wenn du von anfang an nicht weißt, wieviele Autos eingegeben werden bringen arrays nichts (du musst sie vorher fest definieren).

soweit ich weiss, oder zumindest dachte ich das immer, kann man Arrays erweitern, wenn notwendig?! Irre ich mich?

Da irrst du dich. Man muss einen Array immer anfangs mit einer Größe definieren:
Code:
// geht nicht
String[] s1 = new String[]
// so gehts
String[] s2 = new String[10];

Man kann natürlich einen Array anlegen und dann, wenn man mehr braucht einen neuen anlegen und den alten reinkopieren usw. - aber daür gibt es ja Collections....
 

marsias

Aktives Mitglied
Hi!

Wenn du diese auto-Objekte abspeichern willst, dann rate ich dir
auch collections zu benutzten z.B. Vector, ArrayList usw.

Dann kannst du ein objekt erzeugen und es dann in eine Collection
setzten.

Code:
....
Vector v = new Vector();
v.add(auto);
...


Mfg
 

mrfreeman12

Mitglied
Erstmal vielen Danke an alle, die hier etwas reingeschriebn haben!
Also, so wie ich es verstanden habe geht es mit dynamischen Objektnamen nicht! :cry: Na gut.
Versuche es also mit Vektoren, von denen ich keine Ahnung habe.
Code:
.... 
Vector v = new Vector(); 
v.add(auto); 
...
Werden Objekte einfach reingefügt ohne Platzeingabe? Wie kann ich nun auf z.B. das 5-te Auto zugreifen?
Danke!
 
B

bygones

Gast
die Klasse Vector stellt zum hinzufügen zwei Möglichkeiten

Code:
void add(int index, Object element) 
          Inserts the specified element at the specified position in this Vector. 
boolean add(Object o) 
          Appends the specified element to the end of this Vector.

zum holen:
Code:
Object elementAt(int index) 
          Returns the component at the specified index.

hierbei ist es wichtig, dass dies ein Objekt der Klasse "Objekt" zurückliefert - du musst also das Objekt dann zu deiner Klasse casten.

Mehr Infos gibts unter dem Link, den ich oben gepostet habe !!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Iteratorform und Methode mit variabler Parameterzahl Java Basics - Anfänger-Themen 31
IMain23 2d Array variabler Spaltenwert, Spaltenwert immer um eins erhöhen Java Basics - Anfänger-Themen 3
A Variabler Rekursionsaufruf, aber wie? Java Basics - Anfänger-Themen 6
T Methoden Auf Variabler aus anderer Methode zugreifen Java Basics - Anfänger-Themen 5
G Variabler String Java Basics - Anfänger-Themen 5
M Strings mit variabler Länge auffüllen Java Basics - Anfänger-Themen 6
F Variabler Aufruf einer Methode Java Basics - Anfänger-Themen 10
F Variabler - Robot - Tastatureingaben Java Basics - Anfänger-Themen 5
U Variabler Rückgabetyp und Klasse an Methode übergeben? Java Basics - Anfänger-Themen 5
J Quadrat mit variabler Kantenlänge Java Basics - Anfänger-Themen 3
A Variabler Identifier Java Basics - Anfänger-Themen 6
R variabler cast Java Basics - Anfänger-Themen 5
C GridBagLayout BIld an variabler Stelle einfügen Java Basics - Anfänger-Themen 2
G problem mit variabler Java Basics - Anfänger-Themen 5
J Char-Array mit variabler Länge zurückliefern. Java Basics - Anfänger-Themen 11
G variabler variablenname Java Basics - Anfänger-Themen 18
R String[][] mit variabler länge Java Basics - Anfänger-Themen 4
S Variabler Name für ein Objekt einer Klasse? Java Basics - Anfänger-Themen 10
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
J Objekt-Array dynamischer Länge aus Benutzereingaben erstellen Java Basics - Anfänger-Themen 6
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
O Statischer und Dynamischer Typ Java Basics - Anfänger-Themen 6
L Polymorphie Dynamischer oder Statischer Typ für Methodenparameter Java Basics - Anfänger-Themen 8
T Unterschied dynamischer und statischer Laufzeittyp Java Basics - Anfänger-Themen 1
W Dynamischer und statischer Typ von Referenzvariablen Java Basics - Anfänger-Themen 13
C Input/Output Dynamischer Output von Arrays Java Basics - Anfänger-Themen 3
D dynamischer Aufruf Java Basics - Anfänger-Themen 2
C Datentypen Array mit dynamischer Länge? Java Basics - Anfänger-Themen 14
J Verschachtelte for schleife mit dynamischer Anzahl an Schleifen Java Basics - Anfänger-Themen 10
N "Dynamischer" Iterator Java Basics - Anfänger-Themen 21
G Dynamischer Methodenaufruf Java Basics - Anfänger-Themen 3
T Dynamischer JTabbedPane Probleme mit JTextArea Java Basics - Anfänger-Themen 2
G [Hibernate] Dynamischer Datenbankpfad Java Basics - Anfänger-Themen 4
S Fehler nach dynamischer Anpassung - Minesweeper Java Basics - Anfänger-Themen 6
V Dynamischer Klassen bzw. Methodenaufruf Java Basics - Anfänger-Themen 6
H statische, dynamischer Typ von Variablen Java Basics - Anfänger-Themen 1
B Dynamischer Filename Java Basics - Anfänger-Themen 3
lougoldi Objektname abrufen Java Basics - Anfänger-Themen 3
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
W Objektname durch Tastaturbefehl eingeben Java Basics - Anfänger-Themen 7
M Erste Schritte übergebener String - Objektname Java Basics - Anfänger-Themen 1
O Objektname entspricht Eingabe eines Users Java Basics - Anfänger-Themen 4
R Objektname statt Adresse ausgeben Java Basics - Anfänger-Themen 4
C Objektname ermitteln Java Basics - Anfänger-Themen 3
K Objektname - Benutzereingabe? Java Basics - Anfänger-Themen 10
G Objektname über Eingabe bestimmen Java Basics - Anfänger-Themen 4
C Vector / JTable / ObjektName Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben