Guten Abend
bei dieser Aufgabe sollen die Zeilen des Arrays abwechselnd links und rechts mit Nullen aufgefüllt werden. Meine Methode tut das allerdings nur von links nach rechts weil ich nicht weiß wie man nach jeder Zeile wechselt. Hätte jemand eine Idee? LG
richtig wäre z.B. bei int[][] array = new int[][]{{1, 2, 3}, {4}, {5, 6}, {7, 8, 9, 1}}; kommt
0123
4000
0056
7891
bei dieser Aufgabe sollen die Zeilen des Arrays abwechselnd links und rechts mit Nullen aufgefüllt werden. Meine Methode tut das allerdings nur von links nach rechts weil ich nicht weiß wie man nach jeder Zeile wechselt. Hätte jemand eine Idee? LG
richtig wäre z.B. bei int[][] array = new int[][]{{1, 2, 3}, {4}, {5, 6}, {7, 8, 9, 1}}; kommt
0123
4000
0056
7891
Java:
private static int[][] extendArray(int[][] inputArray) {
int length = 0;
for (int[] item : inputArray) {
if (item.length > length) //sucht längstes Array
length = item.length;
}
for (int i = 0; i < inputArray.length; i++) {
int[] currentArr = inputArray[i];
if (currentArr.length < length) {
int result = length - currentArr.length; //Differenz der Länge des akt. Arrays und längsten Arrays
int[] arr = new int[length];
for (int j = 0; j < length; j++) {
if (j < result) {
arr[j] = 0; //mit Nullen auffüllen
}
else {
arr[j] = currentArr[j - result];
}
}
inputArray[i] = arr;
}
}
return inputArray;
}