Gerciley 14 Denunciar post Postado Fevereiro 18, 2013 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
Vergil 15 Denunciar post Postado Fevereiro 19, 2013 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
Gerciley 14 Denunciar post Postado Fevereiro 20, 2013 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
Vergil 15 Denunciar post Postado Fevereiro 20, 2013 Então atribua o primeiro valor lido à variável menor. Compartilhar este post Link para o post Compartilhar em outros sites
Gerciley 14 Denunciar post Postado Fevereiro 21, 2013 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