Pessoal, dúvida muito simples com um programa simplório também…
[code]public class MediaNumerosPositivos {
public static void main(String[] args) {
int a, menor, cont, soma;
float media;
Scanner in = new Scanner(System.in);
soma = 0;
cont = 0;
menor = 0;
System.out.println("Entre com numeros inteiros, um de cada vez e digite ZERO para encerrar.");
a = in.nextInt();
while(a != 0) {
if(a > 0) {
soma = soma + a;
cont = cont + 1;
}
else if(a < menor) {
menor = a;
}
a = in.nextInt();
}
if(cont != 0) {
media = (soma/cont);
System.out.println("Média Aritimética dos números positivos: " + (float)(soma/cont));
}
else {
System.out.println("Nenhum número positivo foi lido.");
}
if(menor == 0) {
System.out.println("Nenhum número negativo foi lido.");
}
else {
System.out.println("Menor número negativo lido: " + menor);
}
}
}[/code]
Ja tentei fazer cast mais não funciona ele ainda mostra na média o número inteiro, nao pega a parte decimal… exe entrando com 5 e 4 retorna como média 4.0
Por que?