Ordenação de vetor em ordem crescente

4 respostas
M

To criando um programa para receber 10 numeros e ordená-los, mas to com problemas na hora de ordená-los, o programa me informa que a seguinte msg na linha 19: cannot find symbol: variable elementos. Até onde eu sei, me parece que não está corretamente declarado o vetor elementos, mas não consigo corrigir, alguém poderia me ajudar por favor, desde já agradeço

import java.util.Scanner;
public class Array10Posicoes
{
   public static void main (String args []){
       Scanner vet = new Scanner (System.in);
   
        int elementos[] = new int[10];
        for (int i=0; i<10; i++){
            System.out.printf ("Informe o numero %d:",i);
            elementos[i] = vet.nextInt();
           
        }
    }
    
   public static void ordena(){
        int cont1, cont2,aux;
            for(cont1 =0; cont1<10; cont1++){
                for(cont2 =0; cont2 <9; cont2++){
                   if(elementos[cont2]> elementos[cont2+1]){
                        aux = elementos[cont2];
                        elementos[cont2] = elementos[cont2+1];
                        elementos[cont2+1] = aux;
                    }
                }
            }            
   }    
}

4 Respostas

R

acho que a JList já implementa isso

T

Opa, beleza.

Você está usando a variavel elementos[], no metodo ordena, mas ele está declarada no metodo main.

O que você pode fazer é passar ela como parametro para o metodo ordena.

precisa alterar a declaração do metodo ordena:

public static void ordena(int elementos[])

e fazer a chamada passando o vetor que deseja ordenar.

Obs.: Existem outros formas mais simples para fazer a ordenação.

M

Deu certo, vlw brother

T

Opa.

O codigo deve ficar assim:

package br.com.exemplos;

 import java.util.Scanner;  
 public class Vetores  
 {  
    public static void main (String args []){  
        Scanner vet = new Scanner (System.in);  
      
         int elementos[] = new int[10];  
         for (int i=0; i<10; i++){  
             System.out.printf ("Informe o numero %d:",i);  
             elementos[i] = vet.nextInt();  
              
         }  
         
         ordena(elementos);
         
         System.out.println("Numeros Ordenados: ");
         for (int numero : elementos){
        	 System.out.println(numero);
         }
         
     }  
       
    public static void ordena(int elementos[]){  
         int cont1, cont2,aux;  
             for(cont1 =0; cont1<10; cont1++){  
                 for(cont2 =0; cont2 <9; cont2++){  
                    if(elementos[cont2]> elementos[cont2+1]){  
                         aux = elementos[cont2];  
                         elementos[cont2] = elementos[cont2+1];  
                         elementos[cont2+1] = aux;  
                     }  
                 }  
             }              
    }      
 }
Criado 6 de abril de 2011
Ultima resposta 6 de abr. de 2011
Respostas 4
Participantes 3