Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida em criar método em questão de java

  1. Faça um programa em Java para criar um vetor de 20 posições do tipo inteiro de números randômicos. crie um método para imprimir o conteúdo do vetor crie um método para ordenar na ordem crescente os valores do vetor. Imprima o vetor ordenado
public class Ex2 {

    public static void main(String[] args) { 
        int v[] = new int[20];
        for (int i = 0; i < v.length; i++) {
            v[i] = (int) (Math.random() * 100);
        }
            for (int i = 0; i < v.length; i++) {
                System.out.print("" + v[i]);
            }
                int aux;
                for (int i = 0; i < v.length - 1; i++) {
                    for (int j = i + 1; j < v.length; j++) {

                        if (v[i] > v[j]) {
                            aux = v[i];
                            v[i] = v[j];
                            v[j] = aux;

                            System.out.println();
                        }}}
                            for (int i = 0; i < v.length; i++) {
                                System.out.print("" + v[i]);}}

Minha duvida é na hora de criar um método pro vetor,como é e o o que ele retornaria Se alguém poder me ajudar fazendo e explicando o passo a passo eu ficaria grato.

1 resposta
solução!

Olá, Vitor! Então, seu código já está pronto, agora basta extrair para as funções específicas que você citou.

Para imprimir um vetor não precisamos retornar nada, apenas executar a impressão. Então usamos a palavra reservada void para especificar que nossa função não retorna nada:

    private static void imprimeVetor(int[] v) {
        for (int i = 0; i < v.length; i++) {
            System.out.print(" " + v[i]);
        }
    }

E para ordenar, você também não precisa de retorno, apenas executar o código que vai modificar o vetor passado para a função:

private static void ordenaVetor(int[] v) {
        int aux;
        for (int i = 0; i < v.length - 1; i++) {
            for (int j = i + 1; j < v.length; j++) {

                if (v[i] > v[j]) {
                    aux = v[i];
                    v[i] = v[j];
                    v[j] = aux;

                    System.out.println();
                }
            }
        }
    }

Obs.: mas é possível retornar o vetor ordenado tbm.

E seu código ficaria:

public class Ex2 {
    public static void main(String[] args) {
        int v[] = new int[20];

        for (int i = 0; i < v.length; i++) {
            v[i] = (int) (Math.random() * 100);
        }

        imprimeVetor(v);

        ordenaVetor(v);

        imprimeVetor(v);
    }

    private static void ordenaVetor(int[] v) {
        int aux;
        for (int i = 0; i < v.length - 1; i++) {
            for (int j = i + 1; j < v.length; j++) {

                if (v[i] > v[j]) {
                    aux = v[i];
                    v[i] = v[j];
                    v[j] = aux;

                    System.out.println();
                }
            }
        }
    }

    private static void imprimeVetor(int[] v) {
        for (int i = 0; i < v.length; i++) {
            System.out.print(" " + v[i]);
        }
    }
}

Espero ter ajudado. Se ainda ficou alguma dúvida, poste aqui novamente.