Galera estou com um pequeno problema, queria ajudar é bem de iniciante.
Tenho que criar um algoritmo que recebe N números inteiros, e somente os positivos serão contabilizados e tem que mostrar o maior o menor valor, acho que to errando coisa fácil.
val=Entrada.leiaInt("Qual o valor que deseja digitar? ").toLowerCase().charAt(0);while(val!=0){
val=Entrada.leiaInt("Qual o valor que deseja digitar? ").toLowerCase().charAt(0);if(val<0){
System.out.println("O valor não será contabilizado ");
}
}
System.out.println("O menor valor é; "+val);
Muito obrigado, tava olhando minhas anotações, viajei e muito ali
Jalin
intnumero,min,max;max=0;min=0;numero=Entrada.leiaInt("Digite um número ");while(numero!=0){numero=Entrada.leiaInt("Digiteumnúmero");if(numero<0){System.out.println("Onúmeronãoserácontabilizado");}if(numero>0){if(numero<min){min=numero;}if(numero>max){max=numero;}}}System.out.printf("O maior número será: "+max);System.out.printf(" e o menor número será: "+min);
}
}
Refiz o programa, só que agora para eu imprimir o menor sempre dá zero, não o menor valor, sendo que digito 0 para encerrar o programa
Francisco_Chaves
Olá amigo, tente utilizar uma condição para verificar se o valor digitado é igual a 0, e utilize o comando break para sair do loop
exemplo:
numero=Entrada.leiaInt("Digite um número ");
if(numero == 0){
break;
}
Jalin
Não entendi!
Francisco_Chaves1 like
O problema está no valor inicial da variável “min”, já que o valor inicial de "min " está zero;
//não entra na condição, já que “numero” não será menor que "min"
if(numero<min){
min=numero;
}
Eu fiz desta maneira.
public static void main(String args[]) {
Scanner entrada = new Scanner(System.in);
// Atribuir um valor para evitar errosintnumero=0;// Atribuir o maior valor possível ao um inteirointmin=Integer.MAX_VALUE;// Atribuir o menor valor possível ao um inteirointmax=Integer.MIN_VALUE;do{System.out.println("Digite um número ");numero=entrada.nextInt();// encerra o loopif(numero==0){break;}if(numero<0){System.out.println("O número não será contabilizado ");}if(numero>0){// o primeiro número digitado será menor que minif(numero<min){min=numero;}// o primeiro número digitado será maior que maxif(numero>max){max=numero;}}}while(numero!=0);System.out.printf("O maior número será: "+max);System.out.printf(" e o menor número será: "+min);}
W
willamecm
@Jalin Posso saber onde você pegou essa lista de exercício?
Jalin1 like
@willamecm
Peguei esses exercícios do livro do ascencio capítulo 5. Foi na minha faculdade
Jalin
No meu código coloquei
Min=número
Max=número
E o código funcionou, mesmo assim amigo te agradeço pela ajuda, consegui finalizar