Below and Above Average

Здравейте, имам проблем със задача 8 от практическите задачи за масивите. Смятам, че отговорите ми са верно, но системата не ги приемата, така че предполагам, че нещо малко трябва да се оправи.

Ето го и кога: https://pastebin.com/ZXB3mzQq

Здравей
вместо avg: трябва да е avr: и на места пропускаш да сложиш запетая където трябва. Ще ти е по-лесно, ако запазваш числата
< avg в един стринг и числата > avg в друг като залепяш запетайка след всяко освен последното. После само трябва принтираш стринговете по един път в очаквания формат.

код
        System.out.printf("avg: %.2f%n", average);
        System.out.printf("below: %s%n", getString(numbers, num -> num < average));
        System.out.printf("above: %s%n", getString(numbers, num -> num > average));
getString
    private static String getString(int[] numbers, Predicate<Integer> tester) {
        StringBuilder builder = new StringBuilder();
        for (int num : numbers) {
            if (tester.test(num)) {
                builder.append(num).append(',');
            }
        }
        if (builder.charAt(builder.length() - 1) == ',') {
            builder.deleteCharAt(builder.length() - 1);
        }
        return builder.toString();
    }

Благодаря за обратната връзка, използвах StringBilder и оправих проблема.

1 Like