Min Max Sum Average - Java

Здравейте. След няколко различни подхода за решение последният, от които дава правилните отговори в iJ, но Judge системата отказва да ги приеме. Бих бил благодарен ако някой хвърли око на този код.
Задачате е - Min Max Sum Average.
Това е кодът: Min Max Sum Average - Pastebin.com

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    // declare data

// initialize counters and accumulators
double sum = 0;
double max = -10000;
double min = 10000;

    double num = 0;

    for (int counter = 0; counter < 4; counter++) {
        num = scanner.nextInt();
        if (num > max) max = num;
        if (num < min) min = num;
        sum += num;


        }
    double avg = sum / 4;


        System.out.printf("min=%.2f%n", min);
        System.out.printf("max=%.2f%n", max);
        System.out.printf("sum=%.2f%n", sum);
        System.out.printf("avg=%.2f", avg);


    }
}

Веднага след постването на тази тема си открих грешката и тя е, че не съм разбрал условието правилно, а именно, че първата линия от input-a заявява колко линии ще бъдат сканирани след loop-а и тази първа линия не участва в изчислението на min, max, sum and avg.

Tози код се приема с резултат 100:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

     String numbers = scanner.nextLine();

    int N = Integer.parseInt(numbers);

    double sum = 0;

    double max = -10000;

    double min = 10000;

    double num = 0;

    for (int counter = 0; counter < N; counter++) {

        num = Double.parseDouble(scanner.nextLine());

        if (num > max) max = num;

        if (num < min) min = num;

        sum += num;

    }

    double avg = sum / N;

    System.out.printf("min=%.2f%n", min);

    System.out.printf("max=%.2f%n", max);

    System.out.printf("sum=%.2f%n", sum);

    System.out.printf("avg=%.2f", avg);

}

}

1 Like