Estou com dificuldade para colocar esse código em java,já fiz no visualg mas não consigo em java.
É colocar em ordem crescente.
Alguém pode dar uma força?
[code]import javax.swing.JOptionPane;
public class ordenar {
/**
* @param args
*/
public static void main(String[] args) {
int num[] = new int[4];
int tmp=0;
for(int i=0;i<num.length;i++){
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Número: "));
}
for(int i=0;i<num.length;i++){
for(int j=0;j<num.length;j++){
if(num[i]<num[j]){
tmp=num[i];
num[i]=num[j];
num[j]=tmp;
}
JOptionPane.showMessageDialog(null, "A ordem é "+ num[j]);
}
}
}
}
[/code]
Cara, fiz o teste e seu código de ordenação está correto.
O seu erro foi apenas na exibição do resultado, ao dar o showMessageDialog dentro do escopo do primeiro for (o do i) você estava exibindo enquanto ele ainda estava ordenando. Remova a exibição deste for e coloque em um novo for após o código, ai exibe correto.
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num.length; j++) {
if (num[i] < num[j]) {
tmp = num[i];
num[i] = num[j];
num[j] = tmp;
}
}
}
for (int j = 0; j < 4; j++)
JOptionPane.showMessageDialog(null, "A ordem é " + num[j]);
}
Pode fazer o seguinte também:
[code]import javax.swing.JOptionPane;
import java.util.*;
public class ordenar {
/**
* @param args
*/
public static void main(String[] args) {
int num[] = new int[4];
int tmp=0;
for(int i=0;i<num.length;i++){
num[i] = Integer.parseInt(JOptionPane.showInputDialog("Número: "));
}
Arrays.sort(num); //função que ordena array de acordo com a ordem natural de seus elementos
for(int j=0;j<num.length;j++){
JOptionPane.showMessageDialog(null, "A ordem é "+ num[j]);
}
}
} [/code]