Code Review

Arrays

?

static double getAverageMark(int[][] marks) {
    double averageMark = 0;
    int marksCount = 0;

    for (int[] mark : marks) {
        for (int j = 0; j < marks[0].length; j++) {
            averageMark += mark[j];
        }
    }
    for (int[] mark : marks) {
        marksCount += mark.length;
    }
    averageMark /= marksCount;

    return NumberUtil.roundValueToTwoDigitsForMantissa(averageMark);
}

?

static double[] getAverageMarks(int[][] marks) {
    double[] averageMarks = new double[marks.length];
    double[] marksCount = new double[marks.length];

    for (int i = 0; i < marks.length; i++) {
        for (int j = 0; j < marks[i].length; j++) {
            marksCount[i] += 1;
        }
    }
    for (int i = 0; i < marks.length; i++) {
        for (int j = 0; j < marks[i].length; j++) {
            averageMarks[i] += marks[i][j];
        }
        averageMarks[i] = NumberUtil.roundValueToTwoDigitsForMantissa(averageMarks[i] / marksCount[i]);
    }

    return averageMarks;
}

?

static int[] getMaxMarks(int[][] marks) {
    int[] maxMarks = new int[marks.length];

    for (int i = 0; i < marks.length; i++) {
        for (int j = 0; j < marks[0].length; j++) {
            if (marks[i][j] > maxMarks[i]) {
                    maxMarks[i] = marks[i][j];
            }
        }
    }

    return maxMarks;
}

?

static double getAverageMark(int[] marks) {
    //TODO
    // Код, решающий задачу пишем ниже, при этом используя параметры метода
    double averageMark = 0;
    double numberOfMarks = marks.length;
    int sumMarks = 0;
    for (int i = 0; i < numberOfMarks; i++) {
        sumMarks += marks[i];
    }
    averageMark = Math.round(sumMarks / numberOfMarks * 100.0) / 100.0;
    return averageMark;
}

?

static double getAverageMark(int[] marks) {
    //TODO
    // Код, решающий задачу пишем ниже, при этом используя параметры метода
    double averageMark = 0;
    double numberOfMarks = marks.length;
    int sumMarks = 0;
    for (int i = 0; i < numberOfMarks; i++) {
        sumMarks += marks[i];
    }
    averageMark = Math.round(sumMarks / numberOfMarks * 100.0) / 100.0;
    return averageMark;
}

?

static double[] getAverageMarks(int[][] marks) {
    //TODO
    // Код, решающий задачу пишем ниже, при этом используя параметры метода
    double[] averageMarks = new double[marks.length];
    double numberOfMarks = 0;
    int sumMarks = 0;
    for (int i = 0; i < marks.length; i++) {
        for (int j = 0; j < marks[i].length; j++) {
            sumMarks += marks[i][j];
            numberOfMarks++;
        }
        averageMarks[i] = Math.round(sumMarks / numberOfMarks * 100.0) / 100.0;
        sumMarks = 0;
        numberOfMarks = 0;
    }
    return averageMarks;
}

?

static int[] getMinMarks(int[][] marks) {
    int[] minMarks = new int[marks.length];
    for (int i = 0; i < marks.length; i++) {  //0
        for (int j = 0; j < marks[i].length; j++) { //0  2
            int minMark = marks[i][j];
            for (int currentMark : marks[i]) {
                if (minMark > currentMark) {
                    minMark = currentMark;
                }
                minMarks[i] = minMark;
            }
        }
    }
    return minMarks;
}

?

static double[] getAverageMarks(int[][] marks) {
    double[] sumAverageMarks = new double[marks.length];
    double averageMarkPerSubject;

    for (int i = 0; i < marks.length; i++) {
        double subjectMark = 0;
        for (int j = 0; j < marks[0].length; j++) {
            subjectMark += marks[i][j];
        }
        averageMarkPerSubject = subjectMark / marks[i].length;
        averageMarkPerSubject = BigDecimal.valueOf(averageMarkPerSubject)
                .setScale(2, RoundingMode.HALF_UP)
                .doubleValue();
        sumAverageMarks[i] = averageMarkPerSubject;
    }
    return sumAverageMarks;
}

?

static double getAverageMark(int[] marks) {
    double averageMark;
    int count = 0;

    for (int mark : marks) {
        count += mark;
    }
    averageMark = (double) count / marks.length;
    return NumberUtil.roundValueToTwoDigitsForMantissa(averageMark);
}

?

static double[] getAverageMarks(int[][] marks) {
    double[] averageMark = new double[marks.length];
    int count;
    int poz = 0;

    for (int[] mark : marks) {
        count = 0;
        for (int i : mark) {
            count += i;
        }
        averageMark[poz] = NumberUtil.roundValueToTwoDigitsForMantissa((double) count / mark.length);
        poz++;
    }
    return averageMark;
}

?

static int[] getMinMarks(int[][] marks) {
    //TODO
    int[] minMark = new int[marks.length];
    // Код, решающий задачу пишем ниже, при этом используя параметры метода

    return null;
    Arrays.fill(minMark, Integer.MAX_VALUE);
    for (int i = 0; i < marks.length; i++) {
        for (int j = 0; j < marks[i].length; j++) {
            if (minMark[i] > marks[i][j]) {
                minMark[i] = marks[i][j];
            }
        }
    }
    return minMark;
}

?

static int[] getMinMarks(int[][] marks) {
    int minMark[] = new int[marks.length];
    for (int i = 0; i < marks.length; i++) {
        int minMarkInRow = marks[i][0];
        for (int j = 0; j < marks[0].length; j++) {
            if (minMarkInRow > marks[i][j]) {
                minMarkInRow = marks[i][j];
            }
        } minMark[i] = minMarkInRow;
    }
    return minMark;
}

?

static int getMinMark(int[] marks) {
    int i = 0;
    int minMark = marks[0];
    for (i = 0; i < marks.length; i++) {
        if (marks[i] < minMark) {
            minMark = marks[i];
        }
    }
    return minMark;
}