7.2-7.5

mail@pastecode.io avatar
unknown
java
2 years ago
3.1 kB
4
Indexable
Never
package com.mycompany.lab7_part2;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
import java.util.stream.Collectors;

/**
 *
 * @author Kamil
 */
public class Main {

    public static void main(String[] args) 
    {
//        ciagle_pobieranie();
//        sortowanie();
//        korekcja_sumy();
        korekcja_iloczynu();
    }
    
    public static void ciagle_pobieranie()
    {
        int liczba = 1, suma = 0, iloczyn = 1;
        while(liczba!=0)
        {
            System.out.println("Wprowadz liczbe calkowita: ");
            Scanner sc = new Scanner(System.in);
            liczba = sc.nextInt();
            suma += liczba;
            if(liczba != 0)
                iloczyn *= liczba;
        }
        System.out.println("Suma wprowadzonych liczb to "+suma);
        System.out.println("Iloczyn wprowadzonych liczb to "+iloczyn);
    }
    
    public static void sortowanie()
    {
        int suma = 0, iloczyn = 1;
        ArrayList<Integer> lista = new ArrayList<>();
        while(suma <= 250 && iloczyn <= 3000000)
        {
            System.out.println("Wprowadz liczbe calkowita: ");
            Scanner sc = new Scanner(System.in);
            int liczba = sc.nextInt();
            lista.add(liczba);
            
            suma += liczba;
            if(liczba != 0)
                iloczyn *= liczba;
        }
        Collections.sort(lista, Collections.reverseOrder());
        
        System.out.println();
        lista.forEach(System.out::println);
    }
    
    static public void korekcja_sumy()
    {
        int suma = 0;
        ArrayList<Integer> lista = new ArrayList<>();
        while(suma != 64)
        {
            System.out.println("Wprowadz liczbe calkowita: ");
            Scanner sc = new Scanner(System.in);
            int liczba = sc.nextInt();
            lista.add(liczba);
            
            suma += liczba;
            if (suma > 64) {
                System.out.println("Wiecej niz 64, usuwam najwieksza liczbe.");
                Collections.sort(lista, Collections.reverseOrder());
                suma -= lista.get(0);
                lista.remove(0);
            }
        }
        System.out.println("Suma = 64");
    }


    static public void korekcja_iloczynu()
    {
        int iloczyn = 1;
        ArrayList<Integer> lista = new ArrayList<>();
        while(iloczyn != 256)
        {
            System.out.println("Wprowadz liczbe calkowita: ");
            Scanner sc = new Scanner(System.in);
            int liczba = sc.nextInt();
            lista.add(liczba);
            
            iloczyn *= liczba;
            if (iloczyn > 256) {
                System.out.println("Wiecej niz 256, usuwam najmniejsza liczbe.");
                Collections.sort(lista);
                iloczyn /= lista.get(0);
                lista.remove(0);
            }
        }
        System.out.println("Iloczyn = 256");
    }
}