Реализуйте метод/функцию, которая производит текущую сумму runningSum2DArray(int[][] array, int dir) по строкам (слева направо или справа налево) или столбцам (сверху вниз или снизу вверх)
Входные данные для метода: двумерный массив целых чисел 4x4 и целое число (1, 2, 3 или 4 для слева, справа, вверх, вниз соответственно).
Выходные данные: измененный массив после создания текущих сумм в соответствии с направлением.
Например: если входные данные для метода такие же, как и для более раннего 2D-массива,
10 15 30 40
15 5 8 2
20 2 4 2
1 4 5 0
и если направление равно 2 (вправо), выходной массив будет напечатан как:
10 25 55 95
15 20 28 30
20 22 26 28
1 5 10 10
Теперь реализуйте другую функцию, выполняющую Sum2DArrayList(ArrayList< ArrayList< Integer > > list, int dir), которая выполняет те же функции.
Мой основной метод заключается в следующем:
import java.util.ArrayList;
import java.util.Scanner;
public class Lab3Task2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//input arrays with ";" between them
String[] temp = scanner.nextLine().split(";");
//input integers with white space between them
int[][] arr = new int[4][4];
for(int i = 0; i < 4; i++){
String[] tempA = temp[i].split("\\s");
for(int j = 0; j < 4; j++){
arr[i][j] = Integer.parseInt(tempA[j]);
}
}
//input integers with white space between them
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
for(int i = 0; i < 4; i++){
String[] tempA = temp[i].split("\\s");
list.add(i, new ArrayList<Integer>());
for(int j = 0; j < 4; j++){
list.get(i).add(j, Integer.parseInt(tempA[j]));
}
}
runningSum2DArray(arr, 1);
runningSum2DArray(arr, 2);
runningSum2DArrayList(list, 3);
runningSum2DArrayList(list, 4);
scanner.close();
}
}
С какой проблемой вы столкнулись?




Если вы можете получить доступ к элементу в строке i и столбце j в двумерном массиве с помощью arr[i][j], то для ArrayList<ArrayList<Integer>> list вы можете получить тот же элемент, что и list.get(i).get(j).
Я не уверен, почему вы не можете распечатать эту информацию.
Вы также можете распечатать list, просто используя System.out.println(list). Это даст вывод в формате -
[[comma separated value from first array list],[...],[...],[csv from last arraylist]]
Если вы не хотите печатать в этом формате, зацикливайте и печатайте отдельные элементы по своему усмотрению.