Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gerciley

Simplificar esse código!

Recommended Posts

Olá galera o código (Gambiarrinha) abaixo solicita ao usuário um numero x qualquer depois solicita x números e depois imprime o menor número dentre os que o usuário digitou. Funciona, porém existem uma forma mais inteligente de se fazer isso?

 

 System.out.print("Digite o numero base :");
        int Base = Entrada.nextInt();
        int i = 1;
        long menor = 999999999;
        while (i <= Base) {
            System.out.print("Digite o " + i + "º numero");
            int Numero = Entrada.nextInt();
            if (Numero < menor) {
                menor = Numero;
            }
            i++;
        }
        System.out.print(menor);

Gostaria que foce possível sem instanciar a variável menor = 99999..., se eu instancia-la =0 sempre imprimira 0 e se não instanciar valor nenhum dará erro.

grato por qualquer auxilio!

Compartilhar este post


Link para o post
Compartilhar em outros sites

long menor = Base;

 

PS: Nunca dê nomes iniciando com maiúsculo para variáveis. Apenas nomes de classes devem iniciar com letra maiúscula. Variáveis devem seguir o padrão camel case.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso, base é a quantidade de argumentos que o usuário vai digitar, sera solicitado um numero e se o usuário digitar 5 base será igual a 5, então o programa pede 5 números diferentes, se algum desses 5 números forem maior que 5 não dará certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então atribua o primeiro valor lido à variável menor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pela dica, consegui fazer assim..

 

//imprtando a classe Scanner
import java.util.Scanner;

public class novo {

    static public void main(String args[]) {

        //instanciando a o objeto da classe Scanner
        Scanner Entrada = new Scanner(System.in);
        
        //solicita o numero de argumentos
        System.out.print("Digite o numero de argumentos :");
        int nargs = Entrada.nextInt();
        
        //solicita o primeiro valor para que a variavel menor inicie com algum valor
        System.out.println("Digite o 1º numero\n");
        float menor = Entrada.nextFloat();
        
        //inicia o laço solicitando o restante dos valores
        for (int i = 2; i <= nargs; i++) {
            System.out.printf("Digite o %dº numero\n", i);
            float n = Entrada.nextFloat();
            
            //condicão se dentre o restantes do valores digitado algum for menor que o primeiro a variavel menor recebe o valor
            if (n < menor) {
                menor = n;
            }
        }
        
        //imprime o menor valor
        System.out.print("o menor valor é :" + menor);
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.