Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Allgemeine Java-Programmierung > daten in array eintragen und auslesen
Antwort
 
Themen-Optionen
Alt 17.02.2005, 11:19   Nach oben    #1
zerberos
Neuer Benutzer
 
Registriert seit: 17.02.2005
Beiträge: 3
Standard daten in array eintragen und auslesen

hallo,

ich bin dabei ein programm zu schreiben, wo ich 4 verschiedene daten eintragen kann und die ich dann später auslesen will, nach einzelnen daten suchen, sortieren, daten löschen und öffnen und abspeichern in einer datei

bis jetzt bin ich bei der eingabe. meine frage ist ob das so funktioniert wie das bis jetzt ist und wie ich die daten am besten sortiert ausgebe.

Code:
 
public void eingabe(){ 
		int anzahl; 
		int enummer; 
		int datum; 
		int [][] daten; 
		float km; 
		float schnitt; 
		char zeit; 
		System.out.println(); 
		System.out.println(); 
		System.out.println(); 
		System.out.println("   Datensätze eingeben	"); 
		System.out.println("--------------------------"); 
		System.out.println(); 
		anzahl = IO.readInt("Bitte die Anzahl der einzugebenden Datensätze einegeben: "); 
		
		daten = new int[anzahl][4]; 
		  
		System.out.println(); 
		System.out.println(); 
		for (int i=0;i<anzahl;i++){ 
		System.out.println("Datensatz "+i+" eingeben"); 
		daten[i][0]=IO.readInt("Bitte das Datum eingeben: "); 
		daten[i][1]=IO.readInt("Bitte die Kilometer eingeben: "); 
		daten[i][2]=IO.readInt("Bitte die gefahrene Durchschnittgeschwindigkeit eingeben: "); 
		daten[i][3]=IO.readChar("Bitte die gefahrene Zeit eingeben: "); 
		System.out.println(); 
		} 
		System.out.println(); 
		enummer= IO.readInt("Um ins Hauptmenü zu gelangen 1 eingeben, zum beenden bitte 2 eingeben: "); 
		  System.out.println(); 
		  System.out.println(); 
		switch (enummer){ 
		  case 1: menue(); break; 
		  case 2: ende();break; 
		  default: {System.out.println("Falsche Eingabe"); menue();} break; 
		  } 
	 }
zerberos ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 12:07   Nach oben    #2
Gottzilla
Erfahrener Benutzer
 
Benutzerbild von Gottzilla
 
Registriert seit: 02.02.2005
Beiträge: 515
Standard

Ob das bis jetzt geht, kannst du ja einfach selber testen . Zum Sortieren von Arrays gibts die Möglichkeit

Code:
Array.sort()
oder das ganze mit einem Algorythmus lösen
Gottzilla ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 12:16   Nach oben    #3
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.616
Standard

Hallo erstmal ,
Nunja ... sortiert nach was denn?

Verstehst Du, was "IO" macht? Wenn Du Dir nicht sicher bist, dann nutze lieber den expliziten Weg.

Nach default braucht man kein "break;"

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 12:40   Nach oben    #4
zerberos
Neuer Benutzer
 
Registriert seit: 17.02.2005
Beiträge: 3
Standard

also ich denke der ansatz den ich gewählt habe ist falsch. mit arrays ist nicht die richtige lösung.

also ich will ein programm machen, das folgende funktionen hat:

1) Daten eintragen in eine LISTE
2) liste sortieren und ausgeben
3) einzelne daten aus der liste suchen
4) liste in datei speichern
5) liste aus datei auslesen und und dann weitere datensätze hinzufügen

kann mir einer vielleicht infos geben wie ich ne liste erstelle und dann dort die daten richtig eintrage?
zerberos ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 12:59   Nach oben    #6
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.616
Standard

Zitat:
Zitat von zerberos
1) Daten eintragen in eine LISTE
Damit hast Du Dir ja schon die Antwort gegeben.
Hobbit hat Dir ja einen Link gepostet .. eventuell fängst Du mal mit der "ArrayList" an


Zitat:
Zitat von zerberos
4) liste in datei speichern
5) liste aus datei auslesen und und dann weitere datensätze hinzufügen
Das ist erst einmal ein Bonus. Wenn Du das mit der Liste geschafft hast, dann geht es weiter.

--> Listen, "Java-Insel"

Viel Erfolg.
Grüße Ben ..
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 13:01   Nach oben    #7
zerberos
Neuer Benutzer
 
Registriert seit: 17.02.2005
Beiträge: 3
Standard

hmm versteh das momentan nicht.


kann mir vielleicht einer den kompletten code dafür geben? dann versteh ich das vielleicht besser

also momentan will ich nur lösen;

werte eintragen (datum, kilometer) und sortieren nach datum



bräuchte da dringend hilfe. hab momentan irgendwie nen totales blackout..
zerberos ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 13:01   Nach oben    #8
mic_checker
Gast
 
Beiträge: n/a
Standard

Wie im andern Forum bereits gepostet würde ich dir empfehlen eine extra Klasse zur Aufnahme der Daten zu schreiben, dann kannst du Objekte dieser Klasse zur ArrayList hinzufügen (per add(..)) und später wiederholen (per get(..)).

Schau dir die API einfach mal an.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 13:02   Nach oben    #9
mic_checker
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von zerberos
hmm versteh das momentan nicht.


kann mir vielleicht einer den kompletten code dafür geben?
dann versteh ich das vielleicht besser
Nein, du hast nur was davon wenn du selber das ganze programmierst. Wo ist denn jetzt das Problem? Was weisst du nicht? Bei konkreten Fragen antworten die Leute gerne..
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 13:08   Nach oben    #10
Ben
Erfahrener Benutzer
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.616
Standard

Zitat:
Zitat von zerberos
hmm versteh das momentan nicht.
Hallo,
Du hast ja auch nur zwei Minuten nach meinem Posting diesen Beitrag geschrieben. Lese Dir doch mal den Text über Listen durch.


Zitat:
Zitat von zerberos
kann mir vielleicht einer den kompletten code dafür geben? dann versteh ich das vielleicht besser
Ist zu bezweifeln. Versuche es selbst und wir helfen Dir dabei.

Zitat:
Zitat von zerberos
bräuchte da dringend hilfe.
Wobei genau?
Was verstehst Du an dem Handling mit Listen denn nicht?

Wenn Du 'nen Blackout hast .. dann hör erst mal ne Stunde mit Programmieren auf und mach was anderes.
Später kommt die Konzentration dann wieder zurück.

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 14:42   Nach oben    #11
ehli75
Benutzer
 
Benutzerbild von ehli75
 
Registriert seit: 30.11.2004
Beiträge: 97
Standard

Hast du schon mal Objektorientiert programmiert ??
Wenn nicht, dann versuch dich ein wenig schlau zu machen, was hinter der OO wirklich steckt (soll kein Vorwurf sein, sondern eine Anregung).

Kleiner Tipp: Wenn du nicht weisst, wie du das Klassen-Design machen sollst, dann schreibe mal im Klartext (ganze und richtig formulierte Sätze !) auf, was dein Programm können soll. Dann wirst du vielleicht schon merken, wie man das aufteilen könnte - in der OO wird großteils die Realität durch Klassen abgebildet. Also schau in deinen Text ... suche alle Substantive (du weisst doch was das ist ... ) ... und schon hast du großteils die Klassen die du brauchst.

z.B. eine Bücherei-Verwaltung ... und hier der Text
In der Büchereiverwaltung werden Bücher verwaltet. Jedes Buch steht in einem bestimmten Regal und hat eine eindeutige Bezeichnung. Folgende Menschen haben zutritt zur Bibliothek: Mitarbeiter, Kunden, Verlagsvertreter und Gäste. jeder Kunde hat einen Kundenausweis. Die Ausleihe der Bücher ist nur mit einem gültigen Kundenausweis möglich. ...
das soll erst mal reichen ...
wir schauen uns den Text an und bilden folgende Klasse daraus:
class Buechereiverwaltung
class Bibliothek
class Buch
class Regal
class Mensch
class Mitarbeiter extends Mensch
class Kunde extends Mensch
class Verlagsvertreter extends Mensch
class Gast extends Mensch
class Kundenausweis
class Ausleihe

Und dann hast du schon mal die Grundstruktur ... natürlich fehlt da noch einiges ... aber es ist ein Anfang. Auch wenn erfahrene Programmierer nicht mehr solche Texte schreiben (na ja bei Pflichtenheften bei Kundenprojekten ist so was auch üblich) ... im Kopf spielt sich trotzdem das gleiche ab ... die Erfahrung ersetzt dann später den geschriebenen Text.
Versuchs einfach ... auch wenn du dir albern vor kommst (es sieht dich doch keiner !!!) ...

Michael
ehli75 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.02.2005, 16:11   Nach oben    #12
mic_checker
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von zerberos
2) liste sortieren und ausgeben
wonach willst du eigentlich sortieren? Nach km oder datum oder wonach genau?

Ich würde empfehlen eine extra Klasse zu schreiben, in der du die Daten speichern kannst, diese Klasse könnte dann Comparable implementieren, später musst du nur noch ein Collections.sort(...) auf die Liste anwenden.

Aber wie gesagt, poste bitte etwas konkreter wodran es liegt. Schau auch mal in die API.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.02.2005, 15:19   Nach oben    #13
Fuzzy
Gast
 
Beiträge: n/a
Standard

Hi zerberos,

das erste, was du brauchst, ist ein Object für einen Datensatz, wie z.B. dieses:

Code:
class Datensatz {
  private int datum;
  private int kilometer;
  private int durchschnitt;
  private int zeit;

  public int getDatum() { return this.datum; }
  public void setDatum(int datum) { this.datum = datum; }

  public int getDurchschnitt() { return this.durchschnitt; }
  public void setDurchschnitt(int durchschnitt) { this.durchschnitt = durchschnitt; }

  public int getKilometer() { return this.kilometer; }
  public void setKilometer(int kilometer) { this.kilometer = kilometer; }

  public int getZeit() { return this.zeit; }
  public void setZeit(int zeit) { this.zeit = zeit; }
}
Ein zweidimensionales Array hilft Dir für Deine Zwecke nicht.

Deine Funktion sieht dann etwas anders aus:

Code:
public void eingabe(){ 
		int anzahl; 
		int enummer; 
		int datum; 
		Datensatz[] daten; 
		float km; 
		float schnitt; 
		char zeit; 
		System.out.println(); 
		System.out.println(); 
		System.out.println(); 
		System.out.println("   Datensätze eingeben	"); 
		System.out.println("--------------------------"); 
		System.out.println(); 
		anzahl = IO.readInt("Bitte die Anzahl der einzugebenden Datensätze einegeben: "); 
		
		daten = new Datensatz[anzahl]; 
		  
		System.out.println(); 
		System.out.println(); 
		for (int i=0;i<anzahl;i++){ 
                daten[i] = new Datensatz();
		System.out.println("Datensatz "+i+" eingeben"); 
		daten[i].setDatum(IO.readInt("Bitte das Datum eingeben: ")); 
		daten[i].setKilometer(IO.readInt("Bitte die Kilometer eingeben: ")); 
		daten[i].setDurchschnitt(IO.readInt("Bitte die gefahrene Durchschnittgeschwindigkeit eingeben: ")); 
		daten[i].setZeit(IO.readChar("Bitte die gefahrene Zeit eingeben: ")); 
		System.out.println(); 
		} 
		System.out.println(); 
		enummer= IO.readInt("Um ins Hauptmenü zu gelangen 1 eingeben, zum beenden bitte 2 eingeben: "); 
		  System.out.println(); 
		  System.out.println(); 
		switch (enummer){ 
		  case 1: menue(); break; 
		  case 2: ende();break; 
		  default: {System.out.println("Falsche Eingabe"); menue();} break; 
		  } 
	 }
Mit einem solchen Objekt Datensatz kannst Du nun viel besser umgehen.
Wenn Du mir ein konkretes Beispiel gibst, zeige ich Dir, wie das geht.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.02.2005, 17:55   Nach oben    #14
mic_checker
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Fuzzy
Hi zerberos,

das erste, was du brauchst, ist ein Object für einen Datensatz, wie z.B. dieses:

Code:
class Datensatz {
  private int datum;
  private int kilometer;
  private int durchschnitt;
  private int zeit;

  public int getDatum() { return this.datum; }
  public void setDatum(int datum) { this.datum = datum; }

  public int getDurchschnitt() { return this.durchschnitt; }
  public void setDurchschnitt(int durchschnitt) { this.durchschnitt = durchschnitt; }

  public int getKilometer() { return this.kilometer; }
  public void setKilometer(int kilometer) { this.kilometer = kilometer; }

  public int getZeit() { return this.zeit; }
  public void setZeit(int zeit) { this.zeit = zeit; }
}
Ein passender Konstruktor wäre sicher auch noch sinnvoll Also der Standard-Konstruktor und ein allgemeiner der die Werte initialisiert.

Zitat:

Ein zweidimensionales Array hilft Dir für Deine Zwecke nicht.

Deine Funktion sieht dann etwas anders aus:

Code:
		anzahl = IO.readInt("Bitte die Anzahl der einzugebenden Datensätze einegeben: "); 
		
		daten = new Datensatz[4]; 
		  
		System.out.println(); 
		System.out.println(); 
		for (int i=0;i<anzahl;i++){ 
                daten[i] = new Datensatz();
Hier hast du wohl vergessen die 4 rauszunehmen...die Größe des Arrays ist ja dann auch anzahl,nicht 4.

zerberos: Nun kannst du in Datensatz Comparable implementieren, entsprechend anpassen und gut is
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.02.2005, 18:04   Nach oben    #15
Fuzzy
Gast
 
Beiträge: n/a
Standard

... da habe ich gepennt. Einen Konstruktor wird man sicher früher oder später brauchen und die 4 ... habe ich oben wegeditiert

Danke
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.02.2005, 21:49   Nach oben    #16
mic_checker
Gast
 
Beiträge: n/a
Standard

@Fuzzy: passiert schnell...
@zer...: Mit dem was hier bereits gepostet wurde kannst du dein Problem bereits lösen.

Du hast:
1) Eine eigene Klasse zur Aufnahme der Daten
2) Diese muss Comparable implementieren
-> schreib dir deine eigene compareTo Methode, in der du nach dem sortierst was du haben willst
3) Nachher musst du nur noch Collections.sort(DeineListe) machen
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hardware-RAID-Lösung robo47 Plauderecke 29 26.12.2007 04:49
Daten aus dem selben Feld im Array speichern julien Datenbanken 10 08.06.2006 21:39
Array in Bezug auf ein anderes sortieren... code5 PHP-Programmierung 2 15.05.2006 15:56
Datenbank auslesen und Daten in JTable überführen Lautsprecher Datenbanken 5 20.10.2005 15:34
Wie lese ich die Daten in einer txt datei in einem Array ein Eddi Allgemeine Java-Programmierung 1 29.10.2004 16:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:46 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38