Как изменить значение элементов матрицы вычитанием из каждого элемента строки среднее арифметическое этого строки [JAVA]

Есть фрагмент кода, но он не делает того, что нужно

import java.util.Random;

public class Array {

    private int size = 6;
    Float[][] data = new Float[size][size];

    public Array() {
        init();
    }

    private void init() {
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) data[i][j] = new Random().nextFloat();
        }
    }

    public void show() {
        for (int j = 0; j < size; j++) {
            for (int i = 0; i < size; i++) {
                System.out.println("row " + i + " col " + j + ": " + data[i][j]);
            }
            System.out.println();
        }
    }

    public void rotate() {
        for (int i = 0; i < size / 2; i++) {
            for (int j = i; j < size - i - 1; j++) {
                // Store current cell in temp variable
                float temp = data[i][j];
                // move values from right to top
                data[i][j] = data[j][size - 1 - i];
                // Move values from bottom to right
                data[j][size - 1 - i] = data[size - 1 - i][size - 1 - j];
                // Move values from left to bottom
                data[size - 1 - i][size - 1 - j] = data[size - 1 - j][i];
                // Assign temp to left
                data[size - 1 - j][i] = temp;
            }
        }
    }
}  
package com.company;

public class Main {
    public static void main(String[] args) {
        System.out.println("Литвин С.М.");
        Array array = new Array();
        System.out.println("Array:");
        array.show();
        array.rotate();
        System.out.println("Rotated array:");
        array.show();
    }
}

Ответы (1 шт):

Автор решения: DeMmAge
import java.util.Random;

public class Solution {

    private final int size = 6;
    private Float[][] array = new Float[size][size];

    public Solution() {
        fillArray();
    }

    private void fillArray() {
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) { 
                array[i][j] = new Random().nextFloat();
            }
        }
    }

    public void printArray() {
        for (int j = 0; j < size; j++) {
            for (int i = 0; i < size; i++) {
                System.out.println("row " + i + " col " + j + ": " + array[i][j]);
            }
            System.out.println();
        }
    }

    public void evaluate() {
        float[] linesAverage = new float[size];

        for (int i = 0; i < size; i++) {
            int lineSum = 0;
            for (int j = 0; j < size; j++) {
                lineSum += array[i][j];
            }
            linesAverage[i] = lineSum / (float)size;
        }

        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                array[i][j] -= linesAverage[i];
            }
        }
    }
}

Класс Main:

public class Main {

    public static void main(String[] args) {
        Solution solution = new Solution();
        solution.evaluate();
        solution.printArray();
    }
}
→ Ссылка