Przykładowe kolokwium I

Przykładowe zadanie z kolokwium I.
Napisać program, który wczytuje od użytkownika liczbę oznaczającą, ile należy wylosować liczb z zakresu od -100 do 100. Następnie dokonuje obliczeń stosunku wylosowanych liczb dodatnich (bez zera) do liczb ujemnych oraz najmniejsze i największej znalezionej liczby. Wynikiem działania programu powinna być informacja na temat wszystkich trzech wartości.
W programie nie należy używać tablic.

Przykład dla liczby podanej przez użytkownika 3, następuje losowanie:
11 -5 93
W wyniku na ekran zostaje wyświetlona informacja:
2 -5 93
// bo stosunek 2/1 min: -5, max: 93

Plik źródłowy z przykładowym rozwiązaniem

 
package kolokwium1;
 
import java.util.Scanner;
import java.util.Random;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Random r = new Random();
 
        System.out.println("Podaj liczbę losowań");
        int los = in.nextInt();
        int lDodatnie = 0;
        int lUjemne = 0;
        int min = 101; // Więcej od największej możliwej
        int max = -101; // Mniej od najmniejszej możliwej
        for(int i=0; i<los; i++){
            // Losowanie
            int liczba = r.nextInt(201)-100;
 
            // Zliczanie dodatnich i ujemnych
            if (liczba>0)
                lDodatnie++;
            else if (liczba<0)
                lUjemne++;
 
            // Szukanie minimum (sposób z instrukcją if)
            if (liczba < min)
                min = liczba;
 
            // Szukanie maksimum (sposób z trójarg. op. war.)
            max = liczba > max ? liczba : max;
        }
 
        double stosunek = lDodatnie / (float)lUjemne; // Niezbędne rzutowanie
        System.out.println(stosunek +" "+ min +" "+ max);
 
    }
 
}