Resolução do exercicio

5 respostas
W

Preciso fazer um programa que … descubra o maior número entre 10, 23, e 5, o problema é que tenho que fazer usando dois operadores “?”

Dados três números, crie um programa que exiba na tela o maior dentre os números
informados. Use o operador ?: que já foi estudado nesta sessão (dica: será necessário utilizar
dois operadores ?: para se chegar ao resultado). Por exemplo, dados os números 10, 23 e 5,
o resultado esperado do exercício deve ser:
número 1 com o valor 10
número 2 com o valor 23
número 3 com o valor 5
O maior número é 23

alguem poderia me ajudar…Obrigado!!!

5 Respostas

L

Esse exercício é bem simples cara. Primeiro resolva ele usando if, else e depois basta trocar eles pelo operador ternário, que é o que o seu professor pediu.

O operador ternário funciona da seguinte forma

(CONDIÇÃO ? O QUE FAZER SE A CONDIÇÃO FOR VERDADEIRA(O SE) : O QUE FAZER SE A CONDIÇÃO FOR FALSA(ELSE) )

Um exemplo:

(NUM1 > NUM2) ? "O VALOR EM NUM1 É MAIOR DO QUE O VALOR EM NUM2" : "O VALOR EM NUM2 É MAIOR OU IGUAL AO VALOR EM NUM1"

Só uma dica:
O pessoal aqui não gosta de tópicos que pedem resolução de exercícios e normalmente costumam ser intolerantes com tópicos deste tipo. Forum é para esclarecer dúvidas. Se a sua intenção foi essa, então só tome mais cuidado com o título que vc escolhe. E provavelmente vc deve ter alguma apostila ou o professor deve ter explicado sobre operador ternário nesse curso que vc está fazendo.

[]'s

W

Na verdade eu tinha tentado dessa forma

int valora = 10; int valorb = 23; int valorc = 5; int maior = 0; maior = (valora > valorb) && (valora > valorc) ? valora : 0; maior = (valorb > valora) && (valorb > valorc) ? valorb : 0; maior = (valorc > valora) && (valorc > valorb) ? valorc : 0; System.out.println("número 1 com o valor "+valora); System.out.println("número 2 com o valor "+valorb); System.out.println("número 3 com o valor "+valorc); System.out.println("O maior número é "+maior);

Mas está dando q é zero, pq?

N

willewell,

Há um pequeno erro no seu código. Tente assim:

public class teste{
public static void main(String[] args){ 
         int valora = 10;
         int valorb = 23;
         int valorc = 5;
         int maior = 0;
         maior = (valora &gt valorb) && (valora &gt valorc) ? valora : maior;
         maior = (valorb &gt valora) && (valorb &gt valorc) ? valorb : maior;
         maior = (valorc &gt valora) && (valorc &gt valorb) ? valorc : maior;
         System.out.println("número 1 com o valor "+valora);
         System.out.println("número 2 com o valor "+valorb);
         System.out.println("número 3 com o valor "+valorc);
         System.out.println("O maior número é "+maior);
}
}
quiron

package testeIF;

import javax.swing.JOptionPane;

public class ClassIF {

public static void testeIF1(int valora, int valorb, int valorc){

int maior = 0;

maior = ( (valora &gt valorb) && (valora &gt valorc) ) ? valora : maior;

maior = ( (valorb &gt valora) && (valorb &gt valorc) ) ? valorb : maior;

maior = ( (valorc &gt valora) && (valorc &gt valorb) ) ? valorc : maior;
JOptionPane.showMessageDialog(null, 
    	"\nValor 1: " + valora + 
    	"\nValor 2: " + valorb + 
    	"\nValor 3: " + valorc + 
    	"\nMaior Valor: " + maior ,
    	"Testando valores", JOptionPane.PLAIN_MESSAGE
    );
}

public static void testeIF2(int valora, int valorb, int valorc){
	int maior = 0;
    maior = ( (valora &gt valorb) && (valora &gt valorc) ) ? valora : maior;
    maior = ( (valorb &gt valora) && (valorb &gt valorc) ) ? valorb : maior;
    maior = ( (valorc &gt valora) && (valorc &gt valorb) ) ? valorc : maior;
    
    System.out.println( 
    	"\nValor 1: " + valora + 
    	"\nValor 2: " + valorb + 
    	"\nValor 3: " + valorc + 
    	"\nMaior Valor: " + maior
    );
}

public static void main(String[] args) {
	try {
		int valor1 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 1º valor", "Informe o 1º valor" ) ) ;
		int valor2 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 2º valor", "Informe o 2º valor" ) ) ;
		int valor3 = Integer.parseInt(JOptionPane.showInputDialog("Informe o 3º valor", "Informe o 3º valor" ) ) ;
		
		testeIF1(valor1, valor2, valor3);
		testeIF2(valor1, valor2, valor3);
	} catch (Exception e) { e.printStackTrace(); }
}

}


W

Vlw gente

Criado 30 de julho de 2007
Ultima resposta 30 de jul. de 2007
Respostas 5
Participantes 4