Ir ao conteúdo
  • Cadastre-se

Menor numero sempre retornando como 0(zero)


Ir à solução Resolvido por DragonBR767,

Posts recomendados

Boa noite pessoal!

 

Estou com uma dúvida, tenho que desenvolver um programa que receba 10 numeros e exiba o Maior o Menor e a media entre eles, porém o menor numero sempre esta retornado zero, poderiam me ajudar a encontrar o erro ?

 

package lis_ex_teste_00;
import javax.swing.JOptionPane;
/**
 *
 * @author DIEGO
 */
public class Lis_ex_teste_00 {
    /**
     * @param args the command line arguments
     */
    @SuppressWarnings("empty-statement")
    public static void main(String[] args) {
        int num,maior,menor;
        double media,soma;
        
        num=0;
        maior=num;
        menor=num;
        soma=num;
        for(int i= 0;i<10;++i){
            num=Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o num "+ i +""));
        if(num>maior)
            maior=num;
        
        if(num<menor)
            menor=num;
        
            
            soma=soma+num;
        }      
    media=soma/10;
    JOptionPane.showMessageDialog(null,"Maior numero : "+maior);
    JOptionPane.showMessageDialog(null,"Menor numero : "+menor);
    JOptionPane.showMessageDialog(null,"Soma dos numeros : "+soma);
    JOptionPane.showMessageDialog(null,"Média dos numeros : "+media);
    
    }
    
}


 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • Solução

Olá fariaspio, tudo bem?

 

Eu olhei o seu código e acho que o problema está na parte em que você inicializa menor com 0(zero), você fazendo isso fara com que todos os números positivos digitados sejam maior que a variável "menor"...

 

Fiz um código simples para servir como uma base para você, sinta-se livre para usa-lo!


import java.util.Scanner;

public class testeNumero {

    public static void main(String[] args) {

        int[] num = new int[10];
        int maior = 0, menor = 0, soma = 0;
        float media;
        Scanner scan = new Scanner(System.in);

        System.out.println("Digite os dez numeros: ");
        for(int i=0; i<10; i++){
            num[i] = scan.nextInt();
        }
        
        for(int i=0; i<10; i++){
            if(num[i] > maior){
                maior = num[i];
                menor = maior;
            }
        }
        
        for(int i=0; i<10; i++){
            if(num[i] < menor){
                menor = num[i];
            }
        }
        
        for(int i=0; i<10; i++){
            soma = soma + num[i];
        }
        
        media = soma/10;
        
        System.out.printf("MAIOR NUMERO: %d\nMENOR NUMERO: %d\nSOMA DOS NUMEROS: %d\nMEDIA DOS NUMEROS: %f\n",maior,menor,soma,media);
    }
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...