olá sou novo por aqui e também nessa área e gostaria que alguém me ajudasse a fazer um programinha básico que é ler três números e imprimir em ordem crescente e decrescente.
Por favor alguém me ajuda pois estou precisando.
Problema com lógica(resolvido)
11 Respostas
Ricceli, você deve postar sua dúvida, tem que tentar fazer algo, ae o pessoal te ajuda, pois como te ajudar se você não está com nenhuma dúvida?
Já instalou o jdk?
Vai fazer isso para trabalho de faculdade ou curso?
Ja sabe o básico da linguagem java?
???
Ae ribclauport, eu e Riccelli, estudamos em faculdade, e o professor passou uma lista de exercicio valendo pontos, então eu criei o programinha, para o usuario dar entrada em 3 numeros, e logo apos ser mostrado em ordem crescente e mais abaixo a ordem decrescente. o problema é q eu não consegui fazer o programa funcionar corretamente
, quando o 2º valor fornecido pelo o usuario é maior que o 1º e 3º valor. obs: o programa deve ser feito usando apenas ( if ) 8)
Postem o que já foi criado por favor.
import java.util.*;
public class Exercicio20
{
public static void main(String args[])
{
int num1;
int num2;
int num3;
Scanner leia = new Scanner(System.in);
System.out.println("Digite numero");
num1 = leia.nextInt();
System.out.println("Digite numero");
num2 = leia.nextInt();
System.out.println("Digite numero");
num3 = leia.nextInt();
if(num1 < num2)
{
if(num1 < num3)
System.out.println("A ordem decrescente = "+num3+","+num2+","+num1);
}
if(num3 < num2)
{
if (num2 < num1)
System.out.println("A ordem decrescente = "+num1+","+num2+","+num3);
}
}
}
Poderia usar metodos melhores de ordenação mas ficaria muito complexo.
import java.util.Scanner;
public class Exercicio20 {
public static void main(String[] args) {
Integer[] entrada = new Integer[5];
Integer[] crescente;
Integer[] decrescente;
Scanner leia = new Scanner(System.in);
System.out.print("\nDigite o primeiro numero: ");
entrada[0] = leia.nextInt();
System.out.print("\nDigite o segundo numero: ");
entrada[1] = leia.nextInt();
System.out.print("\nDigite o terceiro numero: ");
entrada[2] = leia.nextInt();
crescente = entrada;
trocaPosicaoCrescente(crescente, 0, 1);
trocaPosicaoCrescente(crescente, 1, 2);
trocaPosicaoCrescente(crescente, 0, 1);
System.out.println("A ordem crescente: [" + crescente[0] + ", " + crescente[1] + ", " + crescente[2] + "]");
decrescente = entrada;
trocaPosicaoDecrescente(decrescente, 0, 1);
trocaPosicaoDecrescente(decrescente, 1, 2);
trocaPosicaoDecrescente(decrescente, 0, 1);
System.out.println("A ordem decrescente: [" + decrescente[0] + ", " + decrescente[1] + ", " + decrescente[2] + "]");
}
public static void trocaPosicaoCrescente(Integer[] vetor, int posicao1, int posicao2) {
if (vetor[posicao1] > vetor[posicao2]) {
int temp = vetor[posicao1];
vetor[posicao1] = vetor[posicao2];
vetor[posicao2] = temp;
}
}
public static void trocaPosicaoDecrescente(Integer[] vetor, int posicao1, int posicao2) {
if (vetor[posicao1] < vetor[posicao2]) {
int temp = vetor[posicao1];
vetor[posicao1] = vetor[posicao2];
vetor[posicao2] = temp;
}
}
}
acho que esta muito ninja pro nivel do problema… o professor vai ver e ja vai balançar a cabeça…
Voces entenderam como funciona o programa acima? senao agente tenta ajudar novamente.
Cara vimos vetores em linguagem C, mais como iniciamos java agora em fevereiro. esta confuso pra gente vetor em java. nesse momento. da pra entender mais ou menos. o professor disse q ainda vai mostrar vetor pra gente detalhado daqui umas semanas. estamos em if, while, do. por enquanto
Vai ter que fazer if’s aninhados:
int num1;
int num2;
int num3;
Scanner leia = new Scanner(System.in);
System.out.print("\nDigite o primeiro numero: ");
num1 = leia.nextInt();
System.out.print("\nDigite o segundo numero: ");
num2 = leia.nextInt();
System.out.print("\nDigite o terceiro numero: ");
num3 = leia.nextInt();
if(num1 < num2) {
if(num2 < num3) {
System.out.println("A ordem crescente: [" + num1 + ", " + num2 + ", " + num3 + "]");
} else {
if(num1 < num3) {
System.out.println("A ordem crescente: [" + num1 + ", " + num3 + ", " + num2 + "]");
} else {
System.out.println("A ordem crescente: [" + num3 + ", " + num1 + ", " + num2 + "]");
}
}
} else {
if(num1 < num3) {
System.out.println("A ordem crescente: [" + num2 + ", " + num1 + ", " + num3 + "]");
} else {
if(num2 < num3) {
System.out.println("A ordem crescente: [" + num2 + ", " + num3 + ", " + num1 + "]");
} else {
System.out.println("A ordem crescente: [" + num3 + ", " + num2 + ", " + num1 + "]");
}
}
}
Valeu galera!
estudando o codigo aki pra aprimorar o raciocinio logico. brigadão galera… :thumbup:
valeu galera ajudou muito. :thumbup:
editem o tópico e coloquem como resolvido então!
Abraço! 