Sou iniciante em java. E estou em um exercício. Onde devo fazer um programa que receba 3 inteiros e resulte em qual é o maior e qual o menor;
Pois bem consegui resolver qual é o maior .porém estou. Com dificuldade em atribuir o menor número na programação e meu limitado conhecimento esta me impedindo. Peço um norte aos senhores:
intn1,//primeironumeron2,//segundonumeron3;//terceironumeroSystem.out.println("Digite o primeiro Número:");n1=entrada.nextInt();System.out.println("Digite o segundo número:");n2=entrada.nextInt();System.out.println("Digite o terceiro múmero");n3=entrada.nextInt();if(n1>n2&&n1>n3){System.out.printf("onumeromaioré:%d",n1);}else{if(n2>n1&&n2>n3){System.out.printf("onumeromaioré:%d",n2);}else{System.out.printf("onumeromaioré:%d",n3);}}}
Ajustei usando else if, na verdade eu até tinha deixado antes desse jeito, mas imaginei que ele seguiria o fluxo e realmente não prestei muita atenção ao menor (pra ser sincero nem testei esse código e estou apenas usando a lógica)…
Se der alguma zica avisa ai blz?
L
Lindomar182
Um dica importante neste caso:
(tive esse problema com python em um exercício, (segue a logica em código simples só pra vc entender)
intmenor=999999//issoparaqueoprimeironumeroqualquerqsejasejamenorqueo999999intmaior=0//proprimeironumerosermaiorqueeleeelepegarparacompararcomosdemaisif(menor>n1){
menor=n1; //menor agora tem o valor do primeiro numero}else{
menor=menor//desnecessáriomassópravcentenderqueovalorsemantém}
//Mesmacoisanomaiorif(maior<n1){
maior=n1; //maior agora tem o valor do primeiro numero}else{
maior=maior//desnecessáriomassópravcentenderqueovalorsemantém}
principal é entender essa logica, entendeu só aplicar.
Espero ter ajudado
rodevops1 like
Sua intenção é boa, mas nesses casos o ideal é sempre começar com maior e menor sendo o primeiro valor digitado pelo usuário, a partir daí sim compara-los com os outros como mostrei no exemplo acima, dessa forma vc garante que as comparações são apenas entre os números digitados sem outros valores predefinidos (0 e 999999)…
staroski3 likes
importjava.util.*;publicclassMaior{publicstaticvoidmain(String[]args){System.out.println(“MaioreMenoralgarismo;”);Scannerentrada=newScanner(System.in);System.out.println("Digite o primeiro Número:");intn1=entrada.nextInt();System.out.println("Digite o segundo número:");intn2=entrada.nextInt();System.out.println("Digite o terceiro múmero");intn3=entrada.nextInt();intmaior=maior(n1,maior(n2,n3));intmenor=menor(n1,menor(n2,n3));System.out.printf("o numero maior é:%d%n",maior);}System.out.printf("o numero menor é:%d%n",menor);}}staticintmaior(inta,intb){if(a>b){returna;}else{returnb;}}staticintmenor(inta,intb){if(a<b){returna;}else{returnb;}}}
giseldo
Existem várias soluções, conforme foi exposto por outros colegas, porém duplicando o if e mudando o sinal chegamos desejado.
import java.util.*;
public class Maior {
publicstaticvoidmain(String[]args){System.out.println("Maior e Menor algarismo;");Scannerentrada=newScanner(System.in);intn1,// primeiro numeron2,// segundo numeron3;// terceiro numeroSystem.out.println("Digite o primeiro Número:");n1=entrada.nextInt();System.out.println("Digite o segundo número:");n2=entrada.nextInt();System.out.println("Digite o terceiro múmero");n3=entrada.nextInt();// imprime sempre o maior numeroif(n1>n2&&n1>n3){System.out.printf("o numero maior é:%d",n1);}else{if(n2>n1&&n2>n3){System.out.printf("o numero maior é:%d",n2);}else{System.out.printf("o numero maior é:%d",n3);}}// imprime sempre o menor numeroif(n1<n2&&n1<n3){System.out.printf("o numero menor é:%d",n1);}else{if(n2<n1&&n2<n3){System.out.printf("o numero menor é:%d",n2);}else{System.out.printf("o numero menor é:%d",n3);}}}