Untitled

mail@pastecode.io avatar
unknown
java
3 years ago
3.3 kB
5
Indexable
Never
package com.company;

import java.util.Arrays;
import java.util.Scanner;

public class Main

{
    static Scanner we = new Scanner(System.in);

    static double[] przychody = null;

    public static void main(String[] args)
    {
        inicjalizacja();
        wykonanie();
        zakonczenie();
    }


    static void inicjalizacja()
    {
        System.out.println("Wykonuję analizę przychodów z wybranego okresu");
    }

    static void pokazMenu()
    {
        System.out.println("Wybierz operację:");
        System.out.println(" 1. Wczytaj przychody");
        System.out.println(" 2. Pokaż przychody");
        System.out.println(" 3. Wyznacz sumę przychodów i średnią");
        System.out.println(" 4. Wyznacz minimum i maksimum");
        System.out.println(" 5. Wyznacz medianę");
        System.out.println(" 0. Zakończ");
        System.out.print("=> ");

    }



    static void wczytajPrzychody()
    {
        int ilePrzychodow = 0;
        System.out.print("Ile będzie przychodów: ");
        ilePrzychodow = we.nextInt();
        przychody = new double[ilePrzychodow];
        for(int i = 0; i < ilePrzychodow; ++i)
        {
            System.out.print( (i + 1) + ": ");
            przychody[i] = we.nextDouble();
        }
    }

    static void pokazPrzychody()
    {
        System.out.println("\n\nPrzegląd przychodów: ");
        for(int i = 0; i < przychody.length; ++i)
            System.out.println( (i + 1) + ": " + przychody[i]);
    }

    static void wyznaczSredniPrzychod()
    {
        double suma = 0;
        for(int i = 0; i < przychody.length; ++i)
            suma += przychody[i];
        System.out.println("\nSuma przychodów: " + suma);
    }

    static void wyznaczMinimumiMaksimum(){
        double min = przychody[0];
        double max = przychody[0];

        for(int i=0; i < przychody.length; i++){
            if(przychody[i]>max){
                max = przychody[i];
            }
            if(przychody[i]<min){
                min = przychody[i];
            }
        }
        System.out.println("Przychód max: " + max + "| Przychód min: " + min);
    }

    static void wyznaczMediane(){

        double[] sort = przychody.clone();
        int len = przychody.length;
        Arrays.sort(sort);
        double med = 0;

        if(len % 2 == 0){
            med = (sort[(Math.round(len/2)-1)]+sort[Math.round(len/2)])/2;
        }
        if(len % 2 == 1){
            med = sort[Math.round(len/2)];
        }

        System.out.println("Mediana przychodów: "+ med);
    }

    static void wykonanie()
    {
        int wybor = 0;
        do
        {
            pokazMenu();
            wybor = we.nextInt();
            switch(wybor)
            {
                case 1: wczytajPrzychody();
                    break;
                case 2: pokazPrzychody();
                    break;
                case 3: wyznaczSredniPrzychod();
                    break;
                case 4: wyznaczMinimumiMaksimum();
                    break;
                case 5: wyznaczMediane();
                    break;
            }
        }
        while(wybor != 0);
    }

    static void zakonczenie()
    {
        System.out.println("Dziękuję za współpracę, do zobaczenia");
    }
}