Mein Ziel ist es ein Grid für eine Grafische Benutzeroberfläche zu erstellen. Wie man dies macht, soll aber gar nicht teil meiner Frage sein. Ich möchte ein 10 x 10 Grid erstellen, wofür ich ein 2D Array nutzen möchte.
Meine Tabelle soll eigentlich so aussehen (sorry für die Formatierung aber ihr könnt euch sicherlich denken wie sie aussehen sollte):
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 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
Nun ja, sobald ich es mit einer doppelten for schleife versucht habe kam immer eine Nullpointer. Daher versuchte ich es mit einem IntStream :
Jedoch sieht dann mein Grid wie folgt aus :
1 12 23 34 45 56 67 78 89 100
2 13 24 35 46 57 68 79 90 101
3 14 25 36 47 58 69 80 91 102
4 15 26 37 48 59 70 81 92 103
5 16 27 38 49 60 71 82 93 104
6 17 28 39 50 61 72 83 94 105
7 18 29 40 51 62 73 84 95 106
8 19 30 41 52 63 74 85 96 107
9 20 31 42 53 64 75 86 97 108
10 21 32 43 54 65 76 87 98 109
Nun meine Bitte / Frage an euch : Kann mir jemand zeigen, wo bei meiner methode mit dem IntStream der Fehler ist oder mir gar direkt eine neue Methode vorschlagen ? Danke im Vorraus!
Java:
int[][] grid = new Int[10][10];
Meine Tabelle soll eigentlich so aussehen (sorry für die Formatierung aber ihr könnt euch sicherlich denken wie sie aussehen sollte):
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 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
Nun ja, sobald ich es mit einer doppelten for schleife versucht habe kam immer eine Nullpointer. Daher versuchte ich es mit einem IntStream :
Java:
public static void gridArray(int rows, int columns) {
int[][] board = IntStream.range(0, rows) // rows = 10, columns = 10
.mapToObj(i -> IntStream.range(0, columns)
.map(j -> 1 + (i + (rows + 1) * j))
.toArray())
.toArray(int[][]::new);
System.out.println("FINISHED!");
}
Jedoch sieht dann mein Grid wie folgt aus :
1 12 23 34 45 56 67 78 89 100
2 13 24 35 46 57 68 79 90 101
3 14 25 36 47 58 69 80 91 102
4 15 26 37 48 59 70 81 92 103
5 16 27 38 49 60 71 82 93 104
6 17 28 39 50 61 72 83 94 105
7 18 29 40 51 62 73 84 95 106
8 19 30 41 52 63 74 85 96 107
9 20 31 42 53 64 75 86 97 108
10 21 32 43 54 65 76 87 98 109
Nun meine Bitte / Frage an euch : Kann mir jemand zeigen, wo bei meiner methode mit dem IntStream der Fehler ist oder mir gar direkt eine neue Methode vorschlagen ? Danke im Vorraus!