[RESOLVIDO]Passar array por parametro

Olá galera, estou tentando passar uma array por parâmetro mas não estou fazendo certo segue o código:

[code]public class Ordena {

public static void ordint(int[] vetor) {
    
    
    Arrays.sort(vetor);
    int vtamanho = vetor.length;
    
    for (int i = 0; i < vtamanho; i++) {
        
        System.out.println(vetor[i]);
        
    }
    
}

}[/code]

[code]public class Ordem {

public static void main(String[] args) {

    Ordena ord = new Ordena();
    
    ord.ordint(3,4,1,2,6);

}

}[/code]

Sou novo no java se alguem puder me ajudar desde já agradeço.

Só para constar, do modo como você está usando, é como se o método aceitasse 5 inteiros.
Bom, vamos a dúvida

int[] i = new int[]{3,4,1,2,6};

ord.ordint(i);
  

P.S.: A partir do java 5, você pode chamar métodos que aceitam varargs da seguinte maneira, basta que á assinatura do método aceite varargs:

public class Ordena {   
       
    public void ordint(int...vetor) {   
           
           
        Arrays.sort(vetor);   
        int vtamanho = vetor.length;   
           
        for (int i = 0; i < vtamanho; i++) {   
               
            System.out.println(vetor[i]);   
               
        }   
           
    }   
       
}  

Outra coisa, se o seu método ordint é estático, não é necessário criar um objeto para chamá-lo, basta fazer o seguinte

[code]
public class Ordem {

public static void main(String[] args) {   
   int[] i = new int[]{3,4,1,2,6};


    Ordena.ordint(i);   
   
}   

} [/code]

Certo, e se eu quiser passar os parametros,

ord.ordint(Aqui dentro, como faria);

Mas você já está passando dentro! ahahahahaha

Nada muito complicado, na verdade você só vai pegar a parte que está a direita do sinal de igual na criação do vetor de inteiros. :wink:

ord.ordint(new int[]{3,4,1,2,6});   

mas, não aconselho e nem gosto de fazer dessa maneira, somente por legibilidade do código, mas a linguagem aceita.

Seu método ordint() recebe um array de inteiros e não números inteiro

[code] public static void main(String[] args) {

        Ordena ord = new Ordena();  
          
        ord.ordint(3,4,1,2,6);  // passando números inteiro e não um array
      
    }

[/code]

[color=red]Correto[/color]

[code] public static void main(String[] args) {

        Ordena ord = new Ordena();  
          
        int[] vetor  = new int[]{3,4,1,2,6};
        ord.ordint(vetor);  
      
    }  

[/code]

Entendi, muito obrigado pessoal, ajudaram mesmo! =)