Kolejne pytanie od początkującego wałkującego zadania znalezione w necie. Tym razem mam problem z wartością max i min.
Zadanie polega na pobraniu od użytkownika ciągu liczb całkowitych, pobieranie danych kończy podanie cyfry 0 (nie wliczana do danych). Potem program powinien wyświetlić sumę największej i najmniejszej liczby oraz ich średnią arytmetyczną.
Jeśli podam np. liczby -2 i 6 jest OK. Ale jeśli podam np.2 i 6 program pokazuje najmniejszą liczbę 0, bo tak jest zdefiniowana w zmiennych. Jak należy prawidłowo zdefiniować min i max? Czy błąd leży właśnie w początkowym zdefiniowaniu min jako int min = 0;
import java.util.*;
public class MinMax {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int a = 0;
int max = 0;
int min = 0;
int suma = 0;
do
{
System.out.print("Podaj liczbę. 0 kończy działanie programu: ");
a = in.nextInt();
if ( a <= min)
{
min = a;
}
else if ( a >= max)
{
max = a;
}
suma = suma + a;
}
while (a !=0 );
double artmetyczna = (min+max)/2;
System.out.printf("Maksymalna liczba podana to: %d. Minimalna liczba podana to: %d. Ich suma wynosi: %d. Ich średnia arytmetyczna to %.2f", max, min, suma, artmetyczna);
}
}