Java: Wie kann ich eine Matrix aus einer CSV-Datei lesen und in meiner Matrix speichern?

1 Antwort

Ich gehe davon aus, dass die CSV-Datei aus acht Zeilen mit jeweils acht Einträgen besteht.

Du musst die Datei zeilenweise auslesen. Jede Zeile wird anhand der Trennzeichen aufgespalten. Du kannst die split-Methode der String-Klasse dafür verwenden. Dabei kommt ein Array heraus. Jedes Element dieses Arrays kannst du folgend zu einer Zahl casten und dann in die Matrix schreiben.

Pseudocode:

for y = 0, y < matrix.length && hasNextLine(), ++y:
  // read line ...
  values = line.split(',')

  for x = 0, x < matrix[y].length && x < values.length, ++x:
    matrix[y][x] = toDouble(values[x])

HabboHacker09 
Fragesteller
 14.06.2021, 20:59

Danke, ich habe unten (als eigener Kommentar) ein Screenshot von meinem jetzigen Code gepostet. Wie schaffe ich es nun die Werte der CSV Datei in mein 2-Dimensionales Array zu speichern?

Also wie hier:

Matrix[0][0] = Erster Wert von der CSV Datei

Matrix[0][1] = Zweiter Wert von der CSV Datei

.

.

.

Matrix[7][7] = Letzter Wert von der CSV Datei 

Wie funktioniert das?

Danke

0
HabboHacker09 
Fragesteller
 15.06.2021, 08:43
@regex9

Danke aber warum muss man die Zahlen der CSV Datei in einem Double Wert umwandeln?

0
regex9  15.06.2021, 11:31
@HabboHacker09

Dein Matrix-Array wird auf jeden Fall numerischen Typs sein, denn mit den Elementen soll es ja später möglich sein, zu rechnen. Ob du nun Integer, Float oder Double darin hast, weißt du selbst am besten.

Die Daten aus der CSV sind nach dem Einlesen noch vom String-Typ. Demzufolge ist es notwendig, einen Typecast durchzuführen. Für Double wäre die parseDouble-Methode möglich, die anderen Wrapperklassen (Integer, Float) verfügen über ähnliche Methoden (parseInt, parseFloat).

0