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.
public class Lista3_24{
public static void main (String args[]){
char val;
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);
Como vc fará para receber esses números eu não sei, mas a lógica para saber o menor, maior e a soma dos pares seria assim:
public class Program {
public static void main(String... args){
int[] numbers = { -5, 20, -3, 0, -1, 6, 78, -100 };
int min = 0, max = 0, total = 0;
for ( int n: numbers ) {
if ( n < min ) min = n;
if ( n > max ) max = n;
if ( n > 0 ) total += n;
}
System.out.printf( "Min: %d\nMax: %d\nTotal: %d\n", min, max, total );
}
}
int numero, min, max;
max=0;min=0;
numero=Entrada.leiaInt("Digite um número ");
while(numero!=0){
numero=Entrada.leiaInt("Digite um número ");
if(numero<0){
System.out.println("O número não será 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
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 erros
int numero = 0;
// Atribuir o maior valor possível ao um inteiro
int min = Integer.MAX_VALUE;
// Atribuir o menor valor possível ao um inteiro
int max = Integer.MIN_VALUE;
do {
System.out.println("Digite um número ");
numero = entrada.nextInt();
// encerra o loop
if (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 min
if (numero < min) {
min = numero;
}
// o primeiro número digitado será maior que max
if (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);
}