Botar em ordem crescente

3 respostas
N

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?

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]);
				
				
			}
		
				
				
				
			}
			
		}
		

	}

3 Respostas

lucaspolo

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]);

	}
N

Valeu cara funcionou…

J

Pode fazer o seguinte também:

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]);                    
        }  
            
        }  
    }
Criado 1 de dezembro de 2012
Ultima resposta 2 de dez. de 2012
Respostas 3
Participantes 3