Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

dúvida maior e menor e 3 números

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 dúvida maior e menor e 3 números em Sab Jul 27, 2013 2:01 am

CAros amigos qdo testei para achar só o maior deu certo mas qdo adicionei o if else para achar o menor não deu certo mais.

no eclipse nem compila e no javac compila e dá errado os valores

brainiac@hotpc:~/workspace$ javac maiormenornumero.java
brainiac@hotpc:~/workspace$ java maiormenornumero
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 5
Entre com o valor de 'b' segundo número: 2
Entre com o valor de 'c' terceiro número: 1
O MAIOR número dos 3 digitados é 1.0
o MENOR dos 3 digitados é 2.0
brainiac@hotpc:~/workspace$




import java.util.Scanner;
/*
Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor. ?

*/
public class maiormenornumero {
public static void main(String[] args) {
float a, b, c, maior, local1, local2, menor;

Scanner entrada = new Scanner(System.in);

//Passo 1: Entre com os 3 números
System.out.println("Programa mostra qual MAIOR e MENOR dos 3 números ");

System.out.print("Entre com o valor de 'a' primeiro número: ");
a = entrada.nextFloat();

System.out.print("Entre com o valor de 'b' segundo número: ");
b = entrada.nextFloat();

System.out.print("Entre com o valor de 'c' terceiro número: ");
c = entrada.nextFloat();


if((a > b) && (a> c) ){

maior = a;
local1= b;
local2= c;

}if((b > c) && (b > a) ){

maior = b;
local1 = c;
local2 = a;

}else{

maior = c;
local1 = a;
local2 = b;

}



if (local1 < local2){

menor = local1;
}else{

menor = local2;
}
System.out.println("O MAIOR número dos 3 digitados é " +maior);
System.out.println("o MENOR dos 3 digitados é " +menor);
}

}

Ver perfil do usuário

2 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 2:24 pm

tentei desta outra forma mas deu o mesmo erro:

import java.util.Scanner;
/*
Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor. ?

*/
public class maiormenornumero {
public static void main(String[] args) {
float a, b, c, maior, menor,local1,local2;

Scanner entrada = new Scanner(System.in);

//Passo 1: Entre com os 3 números
System.out.println("Programa mostra qual MAIOR e MENOR dos 3 números ");

System.out.print("Entre com o valor de 'a' primeiro número: ");
a = entrada.nextFloat();

System.out.print("Entre com o valor de 'b' segundo número: ");
b = entrada.nextFloat();

System.out.print("Entre com o valor de 'c' terceiro número: ");
c = entrada.nextFloat();


if((a > b) && (a > c) ){

maior = a;
local1 = b;
local2 = c;

menor = (float)Math.min( local1,local2);


}if((b > c) && (b > a) ){

maior = b;
local1 = a;
local2 = c;

menor = (float)Math.min( local1,local2);

}else{

maior = c;
local1 = a;
local2 = b;

menor = (float)Math.min( local1,local2);

}


System.out.println("O MAIOR número dos 3 digitados é " +maior);
System.out.println("o MENOR dos 3 digitados é " +menor);
}

}

Ver perfil do usuário

3 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 4:09 pm

ai está o retorno no javac

Entre com o valor de 'a' primeiro número: 50
Entre com o valor de 'b' segundo número: 20
Entre com o valor de 'c' terceiro número: 10
O MAIOR número dos 3 digitados é 20.0
o MENOR dos 3 digitados é 10.0

Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 100
Entre com o valor de 'b' segundo número: 2
Entre com o valor de 'c' terceiro número: 1
O MAIOR número dos 3 digitados é 2.0
o MENOR dos 3 digitados é 1.0
root@hotpc:/home/brainiac/workspace#

root@hotpc:/home/brainiac/workspace# java maiormenornum
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 20
Entre com o valor de 'b' segundo número: 50
Entre com o valor de 'c' terceiro número: 10
O MAIOR número dos 3 digitados é 50.0
o MENOR dos 3 digitados é 10.0

root@hotpc:/home/brainiac/workspace# java maiormenornum
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 20
Entre com o valor de 'b' segundo número: 10
Entre com o valor de 'c' terceiro número: 50
O MAIOR número dos 3 digitados é 50.0
o MENOR dos 3 digitados é 10.0

root@hotpc:/home/brainiac/workspace# java maiormenornum
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 10
Entre com o valor de 'b' segundo número: 20
Entre com o valor de 'c' terceiro número: 50
O MAIOR número dos 3 digitados é 50.0
o MENOR dos 3 digitados é 10.0
root@hotpc:/home/brainiac/workspace#

Ver perfil do usuário

4 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 5:10 pm

Admin


Admin
Você faz dois if's.
Se o primeiro número digitado, o 'a', for o maior, ele faz as devidas alterações, já no primeiro if.

Depois ele parte pro segundo if.
Mas agora os valores de a, b e c não são mais os mesmos, pois foram alterados pelo primeiro if.

Uma solução pra isso é usar if else aninhado, assim evita que seu código passe por dois 'if' e duas alterações nos valores de 'a', 'b' e 'c', quando essa alteração deveria ser feita só uma vez.

Testa se o 'a' é maior no primeiro if.
Se não for, vai cair no else.
Dentro desse else, você testa se 'b' é o menor através de outro if.
Aí caso 'b' não seja o maior, vai cair dentro de outro else, agora pertencente a esse segundo if.

E o que vai colocar dentro desse último else?
Ora, se 'a' não é maior, nem 'b', é porque 'c' é o maior.

Ver perfil do usuário http://progressiva.forumeiros.com

5 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 5:13 pm

Admin escreveu:Você faz dois if's.
Se o primeiro número digitado, o 'a', for o maior, ele faz as devidas alterações, já no primeiro if.

Depois ele parte pro segundo if.
Mas agora os valores de a, b e c não são mais os mesmos, pois foram alterados pelo primeiro if.

Uma solução pra isso é usar if else aninhado, assim evita que seu código passe por dois 'if' e duas alterações nos valores de 'a', 'b' e 'c', quando essa alteração deveria ser feita só uma vez.

Testa se o 'a' é maior no primeiro if.
Se não for, vai cair no else.
Dentro desse else, você testa se 'b' é o menor através de outro if.
Aí caso 'b' não seja o maior, vai cair dentro de outro else, agora pertencente a esse segundo if.

E o que vai colocar dentro desse último else?
Ora, se 'a' não é maior, nem 'b', é porque 'c' é o maior.


Obrigado amigo,

Vou colocar sua sugestão em prática já, vou acabar de almoçar,

Obrigado pela atenção

Ver perfil do usuário

6 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 5:20 pm

Admin


Admin
Só uma correção, não são 'a' 'b' e 'c' que são alterados, e sim 'maior' 'local1' e 'local2' que podem ser alterados.

Vi que usou a Math. Outra solução usando a Math
Compara dois números pra descobrir o maior. Depois pega esse resultado e compara com o terceiro número.

maior = (float)Math.max( (float)Math.max( a, b) , c);

Ver perfil do usuário http://progressiva.forumeiros.com

7 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 7:41 pm

OI agora consegui, cooquei no meio um "else if".
Mais prática a sua dica de colocar os 3 no math.min


import java.util.Scanner;
/*
Faça um programa que receba três inteiros e diga qual deles é o maior e qual o menor. ?

*/
public class maiormenornum2 {
public static void main(String[] args) {
float a, b, c, maior, menor,local1,local2;

Scanner entrada = new Scanner(System.in);

//Passo 1: Entre com os 3 números
System.out.println("Programa mostra qual MAIOR e MENOR dos 3 números ");

System.out.print("Entre com o valor de 'a' primeiro número: ");
a = entrada.nextFloat();

System.out.print("Entre com o valor de 'b' segundo número: ");
b = entrada.nextFloat();

System.out.print("Entre com o valor de 'c' terceiro número: ");
c = entrada.nextFloat();
if(a > b && a > c){
maior = a;
local1 = b;
local2 = c;

}
//Se A não é o maior e cai aqui embaixo NÃO PRECISA INCLUIR O a No teste
else if (b > c ) {
maior = b;
local1 = a;
local2 = c;
}

else{
maior = c;
local1 = a;
local2 = b;


}

menor = (float)Math.min( local1,local2);

System.out.println("O MAIOR número dos 3 digitados é " +maior);
System.out.println("o MENOR dos 3 digitados é " +menor);
}

}


saídas:

brainiac@hotpc:~/workspace$ java maiormenornum2
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 5
Entre com o valor de 'b' segundo número: 2
Entre com o valor de 'c' terceiro número: 1
O MAIOR número dos 3 digitados é 5.0
o MENOR dos 3 digitados é 1.0
brainiac@hotpc:~/workspace$ java maiormenornum2
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 2
Entre com o valor de 'b' segundo número: 5
Entre com o valor de 'c' terceiro número: 1
O MAIOR número dos 3 digitados é 5.0
o MENOR dos 3 digitados é 1.0
brainiac@hotpc:~/workspace$ java maiormenornum2
Programa mostra qual MAIOR e MENOR dos 3 números
Entre com o valor de 'a' primeiro número: 2
Entre com o valor de 'b' segundo número: 1
Entre com o valor de 'c' terceiro número: 5
O MAIOR número dos 3 digitados é 5.0
o MENOR dos 3 digitados é 1.0
brainiac@hotpc:~/workspace$

Ver perfil do usuário

8 Re: dúvida maior e menor e 3 números em Sab Jul 27, 2013 7:42 pm

Admin escreveu:Só uma correção, não são 'a' 'b' e 'c' que são alterados, e sim 'maior' 'local1' e 'local2' que podem ser alterados.

Vi que usou a Math. Outra solução usando a Math
Compara dois números pra descobrir o maior. Depois pega esse resultado e compara com o terceiro número.

maior = (float)Math.max( (float)Math.max( a, b) , c);

obrigado pela força

Ver perfil do usuário

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum