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
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
willewell
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
Nilson_Costa
willewell,
Há um pequeno erro no seu código. Tente assim:
publicclassteste{publicstaticvoidmain(String[]args){intvalora=10;intvalorb=23;intvalorc=5;intmaior=0;maior=(valora>valorb)&&(valora>valorc)?valora:maior;maior=(valorb>valora)&&(valorb>valorc)?valorb:maior;maior=(valorc>valora)&&(valorc>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);}}