Hallo zusammen,
ich habe bisher ein Array[10][10][10], welches mit zufälligen Zahlen gefüllt wird. Ich schaffe es sogar, dieses Array in eine txt-Datei zu speichern. Unsortiert undeinfach pro Zeile eine Zahl (int). Das klappt gut und passt soweit.
Jetzt möchte ich aus genau dieser txt diese Zahlen in einem anderen Projekt dort in ein glech großes Array einlesen. Aber hier weiß ich nicht, wie ich das machen soll. Ich habe schon mit FileReader und Scanner herumprobiert, aber komme nicht weiter. Vielleicht kann mir hier jemand helfen? Das wäre super! Ich denke, dass das Problem schnell zu lösen ist, aber ich hocke schon seit 2 std dran und komme nicht weiter.
[CODE lang="java" title="Array füllen und in txt speichern"]import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.io.File;
public class speichern{
public static void main (String args[]) throws FileNotFoundException {
PrintWriter outputFile = new PrintWriter("test.txt");
int [][][]array = new int[10][10][10];
int []array2 = new int[10];
int i = 0;
int j = 0;
int k = 0;
int min = 50;
int max = 100;
//Generate random int value from 50 to 100
System.out.println("Random value in int from "+min+" to "+max+ ":");
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
array[j][k] = (int)Math.floor(Math.random()*(max-min+1)+min);
outputFile.println(array[j][k]);
}
}
//array2 = (int)Math.floor(Math.random()*(max-min+1)+min);
//outputFile.println(array2);
}
outputFile.close();
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
System.out.print(array[j][k]+" ");
}
System.out.println("");
}
System.out.println("i ist "+i);
}
System.out.println(array[8][1][3]);
}
}[/CODE]
Und hier bisher der Versuch aus der Datei zu lesen:
Ich weiß nur leider einfach nicht genau, wie scanner funktionieren. FileReader habe ich auch erfolglos probiert und die Dinge im Internet, die ich finde, behandeln alle nur eindimensionale Arrays. Ich hoffe mir kann jemand helfen. Danke schon einmal für jede Hilfe
ich habe bisher ein Array[10][10][10], welches mit zufälligen Zahlen gefüllt wird. Ich schaffe es sogar, dieses Array in eine txt-Datei zu speichern. Unsortiert undeinfach pro Zeile eine Zahl (int). Das klappt gut und passt soweit.
Jetzt möchte ich aus genau dieser txt diese Zahlen in einem anderen Projekt dort in ein glech großes Array einlesen. Aber hier weiß ich nicht, wie ich das machen soll. Ich habe schon mit FileReader und Scanner herumprobiert, aber komme nicht weiter. Vielleicht kann mir hier jemand helfen? Das wäre super! Ich denke, dass das Problem schnell zu lösen ist, aber ich hocke schon seit 2 std dran und komme nicht weiter.
[CODE lang="java" title="Array füllen und in txt speichern"]import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.io.File;
public class speichern{
public static void main (String args[]) throws FileNotFoundException {
PrintWriter outputFile = new PrintWriter("test.txt");
int [][][]array = new int[10][10][10];
int []array2 = new int[10];
int i = 0;
int j = 0;
int k = 0;
int min = 50;
int max = 100;
//Generate random int value from 50 to 100
System.out.println("Random value in int from "+min+" to "+max+ ":");
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
array[j][k] = (int)Math.floor(Math.random()*(max-min+1)+min);
outputFile.println(array[j][k]);
}
}
//array2 = (int)Math.floor(Math.random()*(max-min+1)+min);
//outputFile.println(array2);
}
outputFile.close();
for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
System.out.print(array[j][k]+" ");
}
System.out.println("");
}
System.out.println("i ist "+i);
}
System.out.println(array[8][1][3]);
}
}[/CODE]
Und hier bisher der Versuch aus der Datei zu lesen:
Java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Arrays;
import java.util.Scanner;
public class lesen {
public static void main (String args[]) throws Exception {
//Scanner sc = new Scanner(new BufferedReader(new FileReader("sample.txt")));
FileReader inputFile = new FileReader("Datenzumlesen.txt");
int boxes = 10;
int rows = 10;
int columns = 10;
int [][][] myArray = new int[boxes][rows][columns];
for(int i=0;i<10;i++) {
for (int j=0;j<10;j++) {
for(int k=0;k<10;k++) {
inputFile.read(myArray[i][j][k]); //(myArray[i][j][k]);
}
}
}
inputFile.close();
for (int i=0; i < 10; i++) {
for (int j=0; j < 10; j++) {
for (int k=0; k < 10; k++) {
//System.out.println("Test");
System.out.print(myArray[i][j][k]+" ");
}
System.out.println("");
}
System.out.println("i ist "+i);
}
}
}
Ich weiß nur leider einfach nicht genau, wie scanner funktionieren. FileReader habe ich auch erfolglos probiert und die Dinge im Internet, die ich finde, behandeln alle nur eindimensionale Arrays. Ich hoffe mir kann jemand helfen. Danke schon einmal für jede Hilfe
Zuletzt bearbeitet: