Метод возвращает двойное значение, но возвращает ошибку, в которой двойное значение не возвращается - PullRequest
0 голосов
/ 27 октября 2019

Моя проблема в том, что я пытаюсь усреднить столбцы этого конкретного двумерного массива. Однако в методе их усреднения. Программа выдает мне сообщение об ошибке о том, что

Исключение в потоке "main" java.lang.Error: Неразрешенная проблема компиляции: Этот метод должен возвращать результат типа double [].

К тому же. Код не предназначен для усреднения -1, а скорее рассматривает их как ноль, потому что в программе, которую я создаю, -1 означает, что они не читали определенную книгу. По сути, я создаю программу рекомендаций по книгам.

Я пытался манипулировать кодом различными способами, но в некотором отношении я запутался.

    public static double[] weightedaveragepercol(double [][]A) {
        double average =0;
        double []c = new double[A.length];  

        for(int row =0; row< A.length; row++) {
            int rowTotal = 0;


            for(int column = 0; column < A[row].length; column++) {
                if(A[row][column] < 0) {

                rowTotal += A[row][column];
                }

            c[row] = rowTotal / A[row].length;
            }

        return c;
        }
            }


    public static void recommendratings(double pplratings[][]) {
            double average[] = weightedaveragepercol(pplratings);
                for(int i = 0; i < average.length; i++) {
                    System.out.println(average[i]);
                }
        }

ratings.txt


-1 2 3 5 -1 5 3 3 1 4 2 2 5 -1 1 3 3 5 4 3
-1 1 1 4 1 3 3 1 2 3 4 -1 4 1 2 4 5 4 2 3
3 -1 2 3 -1 2 5 -1 3 3 5 2 2 1 2 3 5 3 4 2
-1 1 -1 4 1 3 5 2 1 5 3 -1 5 2 1 3 4 5 3 2
-1 -1 3 2 -1 5 5 2 2 4 4 2 3 2 -1 3 4 4 3 1
2 1 1 5 2 2 4 2 3 4 3 -1 5 2 2 5 3 5 2 1
3 -1 3 4 -1 2 5 -1 -1 4 3 -1 3 -1 2 5 5 5 4 2
4 -1 4 2 3 -1 1 3 4 -1 1 4 4 4 -1 2 -1 1 4 4
4 3 3 3 -1 2 2 4 3 -1 2 4 3 4 2 -1 -1 2 2 3
3 -1 3 -1 3 4 -1 5 5 -1 -1 -1 1 -1 -1 1 1 2 -1 5
3 -1 3 4 3 4 -1 5 5 2 3 3 4 1 1 -1 -1 -1 -1 4
4 -1 4 4 1 3 -1 5 4 -1 1 3 4 1 -1 1 -1 1 -1 5
5 -1 3 1 4 3 -1 5 4 1 3 2 1 -1 4 2 1 -1 2 4
3 -1 5 1 4 4 2 5 5 1 2 3 1 1 -1 1 -1 1 -1 5
4 1 5 4 3 -1 1 3 4 -1 -1 3 3 -1 1 1 2 -1 3 5
-1 1 1 3 -1 3 1 3 -1 -1 3 -1 5 2 2 1 4 -1 5 -1
3 -1 2 3 1 5 4 3 3 -1 5 -1 5 2 -1 4 4 3 3 3
1 1 1 3 2 4 1 -1 -1 -1 5 -1 3 -1 -1 1 -1 2 5 2
-1 2 3 5 -1 4 3 1 1 3 3 -1 4 -1 -1 4 3 2 5 1
-1 1 3 3 -1 3 3 1 -1 -1 3 -1 5 -1 -1 3 1 2 4 -1
3 -1 2 4 1 4 3 -1 2 3 4 1 3 -1 2 -1 4 3 5 -1
-1 1 3 5 -1 4 2 1 -1 3 3 2 3 2 -1 3 1 -1 3 -1
3 2 2 3 -1 5 -1 -1 2 3 4 -1 4 1 -1 -1 -1 -1 4 2
-1 3 -1 -1 4 -1 2 -1 2 2 2 5 -1 3 4 -1 -1 2 -1 2
1 4 3 -1 3 2 1 -1 -1 -1 1 3 1 3 3 1 -1 -1 -1 3
4 3 3 -1 4 2 -1 4 -1 -1 2 4 -1 3 4 2 -1 -1 -1 4
-1 5 1 -1 4 1 -1 3 2 2 -1 4 1 3 3 1 -1 -1 -1 3
-1 4 2 1 5 -1 -1 2 1 1 -1 5 -1 5 4 1 2 2 -1 1
2 5 2 -1 3 -1 -1 1 -1 2 -1 4 2 4 3 -1 2 1 -1 -1
2 5 1 1 4 -1 2 1 -1 -1 2 4 -1 3 4 2 -1 -1 -1 4

Я ожидаю, что первый результат будет 2,85. Подойдет любая помощь, и я был бы очень признателен.

...