fiz um programa para ordenar tres numeros, cerstente, decrescente e com o maior numero entre os menores. fiz dois FORs para poder perguntar o usuario quer organizar de outra forma, ou se quer mudar os numeros. Porem, quando o programa sai do segundo laco para o primeiro, ele n reexecuta os codigos de organizacao.
import javax.swing.JOptionPane;
public class organizaNumeros {
public static void main(String[] args) {
int i = 1, continua = 1, mudaNumeros = 1; // cria as variaveis i, continua e mudaNumeros
float a, b, c; // cria variaveis a, b e c
System.out.println(
"Este programa organiza tres numeros em ordem crescente, decrescente ou com o maior numero entre os menores.");
// aprersentacao do programa
for (int contador = mudaNumeros; contador == 1; contador = mudaNumeros) {
a = Float.parseFloat(JOptionPane.showInputDialog("Informe o 1 número"));
b = Float.parseFloat(JOptionPane.showInputDialog("Informe o 2 número"));
c = Float.parseFloat(JOptionPane.showInputDialog("Informe o 3 número"));
// pede numeros
for (int contador2 = continua; contador2 == 1; contador2 = continua) { // inicia o laco de organizacao
i = Integer.parseInt(
JOptionPane.showInputDialog("Informe o 1 para organizar os numeros em ordem crescente, "
+ "2 para organizar os numeros em ordem decrescente, ou 3 para imprimir o maior numero entre os menores."));
if (i == 1) { // organiza em ordem crescente
if (a >= c && a >= b) {
if (b >= c) {
System.out.println("Em ordem crescente: " + c + ", " + b + ", " + a + ".");
} else {
System.out.println("Em ordem decrescente: " + b + ", " + c + ", " + a + ".");
}
}
if (b >= a && b >= c) {
if (c >= a) {
System.out.println("Em ordem decrescente: " + a + ", " + c + ", " + b + ".");
} else {
System.out.println("Em ordem decrescente: " + c + ", " + a + ", " + b + ".");
}
}
if (c >= a && c >= b) {
if (b >= a) {
System.out.println("Em ordem decrescente: " + a + ", " + b + ", " + c + ".");
} else {
System.out.println("Em ordem decrescente: " + b + ", " + a + ", " + c + ".");
}
}
}
if (i == 2) { // organiza em ordem decrescente
if (a >= c && a >= b) {
if (b >= c) {
System.out.println("Em ordem decrescente: " + a + ", " + b + ", " + c + ".");
} else {
System.out.println("Em ordem decrescente: " + a + ", " + c + ", " + b + ".");
}
}
if (b >= a && b >= c) {
if (c >= a) {
System.out.println("Em ordem decrescente: " + b + ", " + c + ", " + a + ".");
} else {
System.out.println("Em ordem decrescente: " + b + ", " + a + ", " + c + ".");
}
}
if (c >= a && c >= b) {
if (b >= a) {
System.out.println("Em ordem decrescente: " + c + ", " + b + ", " + a + ".");
} else {
System.out.println("Em ordem decrescente: " + c + ", " + a + ", " + b + ".");
}
}
}
if (i == 3) { // coloca o maior entre os menores
if (a >= c && a >= b) {
if (b >= c) {
System.out.println("Em ordem decrescente: " + b + ", " + a + ", " + c + ".");
} else {
System.out.println("Em ordem decrescente: " + c + ", " + a + ", " + b + ".");
}
}
if (b >= a && b >= c) {
if (c >= a) {
System.out.println("Em ordem decrescente: " + c + ", " + b + ", " + a + ".");
} else {
System.out.println("Em ordem decrescente: " + a + ", " + b + ", " + c + ".");
}
}
if (c >= a && c >= b) {
if (b >= a) {
System.out.println("Em ordem decrescente: " + b + ", " + c + ", " + a + ".");
} else {
System.out.println("Em ordem decrescente: " + a + ", " + c + ", " + b + ".");
}
}
}
System.out.println();
continua = Integer.parseInt(JOptionPane
.showInputDialog("Gostaria de ordenar de outra maneira? (1 para sim ou 2 para nao)"));
// pergunta se o usuario gostaria de ordenar de outra forma os numeros dados.
}
mudaNumeros = Integer.parseInt(
JOptionPane.showInputDialog("Gostaria de ordenar outros numeros? (1 para sim ou 2 para nao)"));
}
}
}