ArrayList mit Daten füllen

Rooki

Neues Mitglied
Hallo Community,

ich bin recht neu in der Java Welt und in diesem Forum. Ich arbeite mich grade in Java ein und hänge bisschen bei den ArrayListen bzw. habe ein kleines Problem. Bis jetzt bin ich soweit gekommen:

Java:
import java.util.ArrayList;

public class FilmSammlungListe {
    
    public static void main(String[] args) {
    
        //anlegen einer ArrayListe
        ArrayList<String> liste = new ArrayList<String>();
        
        //fuellen der Liste mit Daten
        liste.add("Shrek");
        liste.add("IceAge");
        liste.add("ToyStory");
      
    
        //Ausgeben der Liste
        System.out.println(liste);
    }}

Soweit so gut, funzt alles prima. Nun möchte ich aber statt den statischen Daten womit ich hier das Array gefüllt habe lieber alle Werte aus einer 2. Klasse Filme mit den Attributen FilmName, Jahr, Regisseur beziehn. Wie bekomm ich das hin ?

Vielen dank im voraus
 
Füge in die ArrayList nicht Strings hinzu sondern eben Objekte von deiner Klasse "Film"
Java:
List<Film> liste = new ArrayList<Film>();

In Film evtl. dann noch toString überschreiben wenn du das weiterhin einfach mit [c]System.out.println(liste);[/c] ausgeben willst. Andere Möglichkeit wäre halt selbst über die Liste zu iterieren und dann mit getTitle() o.ä. die Werte auszugeben!
 
Hallo allerseits! Ich habe eine Frage bezüglich Array’s und hoffe Ihr könnt mir helfen. Ich habe in meinem Programm die Zeit gezählt und jetzt will ich zu dieser Zeit zwei Messwerte angeben. Sie befinden sich in einem anderen Datei (z.B. *.dot). Bis jetzt habe ich gelesen, dass man zeilenweise die Daten übertragen kann. Und da kommt meiner Frage, kann ich die gemessene Werte in einem Array zuweisen ohne sie alle abzutippen und später sie für die Berechnung weiter verwenden?

Die Datei sieht z.B. so aus:
Zeit GrößeA GrößeB

1 WertA1 WertB1
2 WertA2 WertB2
3 WertA3 WertB3
…

Ich muss dann für einer Gleichung A-Werte einsetzen und für die andere B-Werte. Wie kann ich es am besten realisieren?
 
Moin,

Hallo allerseits! Ich habe eine Frage bezüglich Array’s und hoffe Ihr könnt mir helfen. Ich habe in meinem Programm die Zeit gezählt und jetzt will ich zu dieser Zeit zwei Messwerte angeben. Sie befinden sich in einem anderen Datei (z.B. *.dot). Bis jetzt habe ich gelesen, dass man zeilenweise die Daten übertragen kann. Und da kommt meiner Frage, kann ich die gemessene Werte in einem Array zuweisen ohne sie alle abzutippen und später sie für die Berechnung weiter verwenden?

Die Datei sieht z.B. so aus:
Zeit GrößeA GrößeB

1 WertA1 WertB1
2 WertA2 WertB2
3 WertA3 WertB3
…

Ich muss dann für einer Gleichung A-Werte einsetzen und für die andere B-Werte. Wie kann ich es am besten realisieren?

mal ganz allgemein gesprochen:
- lies die Datei zeilenweise ein (ggf. nur die Zeilen zum gesuchten Zeitpunkt)
- dann kannst Du die einzelnen Zeilen über ein spezifisches Trennzeichen (in Deinem Fall vermutlich ein Blank zwischen den Werten) splitten und dadurch ein Stringarray füllen, dass Dir dann entweder schon reicht oder von dem aus Du dann die gewünschten Werte in weitere Arrays, Variablen etc. kopieren kannst !

Gruß
Klaus
 
So ich habe Datei ausgelesen mit folgendem Queltext:
[JAVA=42]
import java.io.*;
import java.util.*;

public class Main {
public static void main(String[] args) {
String Zeile;
ArrayList<String> list = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader(
"C:\\Datei.txt"));
while ((Zeile = br.readLine()) != null) {

list.add(Zeile);
}
br.close();
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}[/code]

Und wie schon oben beschrieben ist will ich die Werte in StringArray und dann in double Array setzen. Wie man von string zu double kommt, habe weiß ich. Kann vielleicht jemand ein kleines und einfaches Beispiel machen wie ich eine Datei splitte (StringTokenizer) und in ein 2-dimensionalen Array packen kann. Ich wäre dann sehr dankbar für eure Hilfe!
 
Und wie schon oben beschrieben ist will ich die Werte in StringArray und dann in double Array setzen. Wie man von string zu double kommt, habe weiß ich. Kann vielleicht jemand ein kleines und einfaches Beispiel machen wie ich eine Datei splitte (StringTokenizer) und in ein 2-dimensionalen Array packen kann. Ich wäre dann sehr dankbar für eure Hilfe!

Also das mit dem Splitten wurde doch schon gesagt split(" "); .... dann hast du ja schon dein String-Array.
Aber das mit den Arrays halte ich für nicht so schön. Wieso schreibst du dir dafür nicht lieber eine Klasse?

Basierend auf deiner Datei wie oben beschrieben, vllt so etwas wie:
Java:
	public static void main(String[] args) throws IOException {
		List<Datensatz> daten = new ArrayList<Datensatz>();
		Scanner sc = new Scanner(new File("C:/Datei.txt"));
		while (sc.hasNext()) {
			String[] line = sc.nextLine().split(" ");
			daten.add(new Datensatz(line[0], Double.parseDouble(line[1]),
					Double.parseDouble(line[2])));
		}
		sc.close();
		//Ausgabe!!!
		for (Datensatz datensatz : daten) {
			System.out.println(datensatz);
		}
	}

class Datensatz {
	private String zeit;
	private double wertA, wertB;

	public Datensatz(String zeit, double wertA, double wertB) {
		this.zeit = zeit;
		this.wertA = wertA;
		this.wertB = wertB;
	}

	@Override
	public String toString() {
		return "Datensatz [wertA=" + wertA + ", wertB=" + wertB + ", zeit="
				+ zeit + "]";
	}
}

???:L
 
Vielen Dank eRaaaa, das ist genau was ich gebraucht habe. Allerdings kann ich das Programm nicht durchführen, weil bei der Zeile {daten.add(new Datensatz(line[0], Double.parseDouble(line[1]),Double.parseDouble(line[2]))); } wird Meldung {non-static variable this cannot be referenced from a static context} ausgegeben. Und wenn ich deutlich mehr Zeilen habe, kann ich doch für die Zeilennummer die Schleife einsetzen.
 

Neue Themen


Zurück
Oben