Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 06:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Java Klassenarray

Discussion on Java Klassenarray within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Java Klassenarray

Sers leutz.

Ich bin gerade dabei ein Programm zu erstellen, dass Personen aufnehmen kann. Sprich den Vor- und Nachnamen etc. und man dann in einer Textdatei die Personen gespeichert hat

Ich wollte das nun so realisieren, dass ich eine Klasse namens "person" mit Attributen wie Nach- und Vorname usw. erstelle. Dann gibt es im Menü meines Programmes die Menüpunkte "Person aufnehmen", "Personen von Datei laden", "Personen in Datei speichern".

Person aufnehmen: Dort gelangt man sozusagen zum "Formular", in dem man die Daten (Nachname usw) eingibt und diese werden dann in eine Instanz der Klasse gespeichert. Das heißt also sie gelangen erst einmal in den "Speicher", werden aber noch NICHT in die Datei geschrieben. Wenn man eine Person also aufgenommen hat (in den "Speicher", sprich die Instanz) soll man noch die Möglichkeit bekommen, noch weitere Personen einzugeben.

Und hier taucht mein/e Problem/Frage auf. Ich möchte, dass man also mehrere Personen eintragen kann, aber diese alle in der Instanz gespeichert werden. Erst wenn man auf den Menüpunkt "Personen in Datei speichern" geht, sollen die Personen erst richtig "gespeichert" werden, d.h. in die Datei eingetragen werden.

Wenn ich nun

Code:
person p1 = new person();
p1.addPers();
benutzen würde, könnte ich ja aber nur 1 Person zur gleichen Zeit aufnehmen.

Somit dachte ich mir also, dass ich Arrays benutzen könnte:

Code:
person p1[] = new person[6];
p1[0].addPers(); // Daten in Instanz aufnehmen
p1[1].addPers();
p1[2].addPers();
p1[3].addPers();
p1[4].addPers();
p1[5].addPers();
Und da sieht man schon, dass ich hier nur maximal 6 Leute gleichzeitig aufnehmen kann und somit stellt sich meine Frage an euch: Wie kann ich das mit dem Array realisieren, damit es unendlich Personen gleichzeitig aufnehmen könnte? Oder wie sollte ich das sonst machen?

Mit freundlichem Gruß
Wr3
Warnuk3r is offline  
Old 12/27/2012, 00:46   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Quote:
Wie kann ich das mit dem Array realisieren, damit es unendlich Personen gleichzeitig aufnehmen könnte?
Gar nicht. Bzw mit unglaublichen Aufwand.

Quote:
Oder wie sollte ich das sonst machen?
Eine Liste wäre hier sicher keine schlechte Wahl. z.B. sowas hier:
oder
xNopex is offline  
Thanks
1 User
Old 12/27/2012, 00:50   #3
 
elite*gold: 0
Join Date: Apr 2007
Posts: 30
Received Thanks: 2
War schwachsinn was ich geschrieben hab
niko_d is offline  
Old 12/27/2012, 09:47   #4
 
Kinu's Avatar
 
elite*gold: 10
Join Date: May 2006
Posts: 2,786
Received Thanks: 773
Les dich mal in Datenstrukturen ein

Wie schon erwähnt, wäre für deinen Fall eine Liste und kein Array von Vorteil.
Code:
List<Person> personList = new LinkedList<Person>();
personList.add(person1);
oder halt die ArrayList..
Kinu is offline  
Thanks
1 User
Old 12/27/2012, 15:31   #5
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Habe mir das mal kurz angeschaut. Ich würde dann aber die Klasse Person nicht mehr benutzen oder? Ich mache das ganze halt für die Schule und soll schon die Klasse dafür benutzen.
Warnuk3r is offline  
Old 12/27/2012, 16:16   #6
 
elite*gold: 0
Join Date: Apr 2007
Posts: 30
Received Thanks: 2
Doch eigentlich schon. Du musst der List sagen welche Daten er speichern soll und das sind bei dir Daten von der Klasse Person.

Kinu hats eigentlich schon beschrieben:
Code:
List<Person> personList = new LinkedList<Person>();

//Immer wenn der User eine neue Person zu der personList adden will
Person p = new Person("Name", "Nachname",...);
personList.add(p);
niko_d is offline  
Thanks
1 User
Old 01/07/2013, 21:45   #7
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Bei der Ausgabe kommt da [p.Person@42e816] (also Variablen- und Klassenname als auch die Adresse) - wie kriege ich das hin es richtig auszugeben/anzusprechen, sprich Nachname usw.?
Warnuk3r is offline  
Old 01/07/2013, 21:52   #8

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,542
Du gibst ja auch eine Referenz aus, es macht nur Sinn die Attribute für jede Person auszugeben.
Obilee is offline  
Old 01/07/2013, 21:56   #9
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Ja habe grade raus gefunden, dass ich ganz einfach System.out.println(p); damit mache.

Und ja ich möchte die Attribute, aber wie soll das mit GET (von list) gehen?
Warnuk3r is offline  
Old 01/07/2013, 22:01   #10
 
elite*gold: 130
Join Date: Jan 2011
Posts: 14
Received Thanks: 9
Theoretisch könntest du auch einen Suchbaum benutzen

aber in deinem Fall mich da nur anschließen..obwohl der Parser bei einer Liste etwas länger braucht,wäre das hier nur zu empfehlen
Mikoplianos is offline  
Old 01/07/2013, 22:02   #11

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,542
Code:
for(Person p : personenListe) {
//alle attribute ausgeben z.b p.getName();
}
damit geht er durch alle einträge der liste automatisch durch

@Mikoplianos

solche Überlegungen muss man erst machen wenn die Anzahl der Einträge in die Tausende geht, alles davor is sowas von wayne.
Obilee is offline  
Thanks
1 User
Old 01/07/2013, 22:06   #12
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
Achso danke, hab das vorhin gesehen aber ich dachte das war eine ganz normale Bedingung nur und somit hab ich das nicht weiter beachtet Verwirrte mich etwas :x
Warnuk3r is offline  
Old 01/07/2013, 22:08   #13

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,542
Bedingungen sind nur mit if , else if oder ? gekennzeichnet ( while und for laufzeitbedingungen mal ausgenommen ).
Obilee is offline  
Old 01/07/2013, 22:10   #14
 
elite*gold: 130
Join Date: Jan 2011
Posts: 14
Received Thanks: 9
@Obilee

du hast Recht.War auch nur ne Side-Note.

Der Wirtschaftsinformatiker kommt automatisch in mir hoch,wenn ich solche Überlegungen bzw Fragen lese.
Also nvm.
Mikoplianos is offline  
Old 01/07/2013, 22:20   #15
 
Warnuk3r's Avatar
 
elite*gold: 307
Join Date: Jul 2009
Posts: 1,091
Received Thanks: 434
EDIT: Okay vergisst es, ich war zu blöd zum lesen xDD

Quote:
Originally Posted by Mikoplianos View Post
@Obilee

du hast Recht.War auch nur ne Side-Note.

Der Wirtschaftsinformatiker kommt automatisch in mir hoch,wenn ich solche Überlegungen bzw Fragen lese.
Also nvm.
Studiere ich grade :s

EDIT2: Danke dir auch Miko

PS: Danke Obilee, es funktioniert wunderbar
Warnuk3r is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[JAVA Error] Could not create the java virtual machine
07/21/2013 - Technical Support - 10 Replies
Schönen Abend! Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt. Die Tips auf Minecraft.net habe ich schon ohne Erfolg befolgt. Hoffe ihr könnt mir weiterhelfen... Mein PC:
[Java] Could not create the Java virtual machine
06/22/2011 - Minecraft - 1 Replies
hallo ihr minecraftler ^^ habe seit heute das problem das wenn ich minecraft starte original als auch cracked das diese fehlermeldung kommt: Java virtual machine Launcher Could not create the Java virtual machine



All times are GMT +2. The time now is 06:38.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.