Problema com converter Virgulas

Ola amigos estou fazendo um trabalho academico e estou com o seguinte problema criei um textField para receber um vetor exp: “4,5,3,6,” e posteriomente encontra-se o seguinte metodo


ublic static void SelectionSort(int v[]) {
        int index_min,
                aux;

        for (int i = 0; i < v.length; i++) {
            index_min = i;
            for (int j = i + 1; j < v.length; j++) {
                if (v[j] < v[index_min]) {
                    index_min = j;
                }
            }
            if (index_min != i) {
                aux = v[index_min];
                v[index_min] = v[i];
                v[i] = aux;
            }
        }
    }

Estou precisando converter as Virgulas do digitadas pelo usuario e adicionar ao vetor no metodo citado

Abraxx a tds e Obrigado Pela a ajuda

Isso mesmo criei 2 TextField e dentro da acao do botao

        int vetor[];
        int tam;
        tam = Integer.parseInt(tf_tamanho.getText());
        vetor = new int[tam];

1-criei um vetor vazio que sera passado ao metodo
2-converti o texto do textfield para para da o tamanho ao vetor

agora preciso pegar os dados da outra textField e repassar ao vetor

seuTextField.getText().split("\,")

isso vai fazer vc ter um monte de strings separadas, basta vc ir convertendo e armazenando em uma array de inteiros.

int vetor[]; int tam; int numeros; tam = Integer.parseInt(tf_tamanho.getText()); vetor = new int[tam]; numeros = Integer.parseInt(tf_vetor.getText()); vetor = new int[]{numeros}; MetodosDeOrdenacao m = new MetodosDeOrdenacao(); m.SelectionSort(vetor);

Nao pode ser uma Arrey de inteiros pq o metodo aceita somente o vetor
abraxx e Obrigado

int vetor[];
        int numeros;       
        numeros = Integer.parseInt(tf_vetor.getText());
                vetor = new int[]{numeros};
        MetodosDeOrdenacao m = new MetodosDeOrdenacao();
        m.SelectionSort(vetor);
        limparCampos();

Como ficaria o split do vetor???

public class VetorSemGrafico {

    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        MetodosDeOrdenacao m = new MetodosDeOrdenacao();
        int tam;
        int num;

        System.out.println("digite o tamanho do vetor a ser criado");
        tam = input.nextInt();
        int[] vetor = new int[tam];

        for (int counter = 0; counter < vetor.length; counter++) {
            System.out.println("Digite um numero");
            num = input.nextInt();
            vetor[counter] = num;
            for (int value : vetor) {
                System.out.printf("  %d", value);

            }

        }
        System.out.println("");
        System.out.println("Vetor Ordenado");



        m.insertionSort(vetor);

    }
}

Sem o Swing estou pesquisando o split estou quase la ja posto o resultado

[code]public class MetodosDeOrdenacao {

//SelectionSort
public static void SelectionSort(int[] v) {
int index_min,
aux;

    for (int i = 0; i < v.length; i++) {
        index_min = i;
        for (int j = i + 1; j < v.length; j++) {
            if (v[j] < v[index_min]) {
                index_min = j;
            }
        }
        if (index_min != i) {
            aux = v[index_min];
            v[index_min] = v[i];
            v[i] = aux;

        }
    }
    for (int value : v){
          
            System.out.printf("  %d ", value);
    }

}

// Boble Sort

    public void bubbleSort(int v[]) {

        for (int i = v.length; i >= 1; i--) {
            for (int j = 1; j < i; j++) {
                if (v[j - 1] > v[j]) {
                    int aux = v[j];
                    v[j] = v[j - 1];
                    v[j - 1] = aux;
                }
            }
        }for (int value : v){

            System.out.printf("  %d ", value);
    }
    }

//Insertion Sort

public void  insertionSort(int v[]) {
    for (int i = 1; i < v.length; i++) {
        int a = v[i];
        int j;
        for (j = i - 1; j >= 0 && v[j] > a; j--) {
            v[j + 1] = v[j];
            v[j] = a;
        }
    }
   for (int value : v){

            System.out.printf("  %d ", value);
    }
}

}
[/code]
Para quem quer ficar por dentro os metodos de ordenação usados na segunda classe

Antes de mais nada,
Convenção de código Java: métodos iniciam-se com letras minúsculas (bem como variáveis). Apenas classes iniciam-se com letras maiúsculas (“Constantes” tem todas maiúsculas).

Quanto a String, você quer que “1,2,3,4” se transforme em new int[]{1,2,3,4}, isso?

Primeiramente, pode-se utilizar o split que quebra a String em um vetor de Strings. Depois, use um laço que lê cada item do vetor de Strings, fazendo o parse para int e adicionando no teu vetor de inteiros.

[quote=felipenv]Nao pode ser uma Arrey de inteiros pq o metodo aceita somente o vetor
abraxx e Obrigado[/quote]No caso, Array = vetor.

Só por curiosidade, você chegou a testar o código que você escreveu?

[code]
//criou as variáveis. Até aqui beleza.
int vetor[];
int tam;
int numeros;

 //Ok. Obteve o tamanho (mas pra que?)
 tam = Integer.parseInt(tf_tamanho.getText());   

 //Criou um vetor com o tamanho informado. É isso mesmo? Veja mais abaixo porque do questionamento.
 vetor = new int[tam];   

 //Se tiver apenas um número. Deve funcionar, caso contrário, é erro com certeza.
 numeros = Integer.parseInt(tf_vetor.getText());   

 //Você TROCOU o vetor por outro. Logo, porque a inicialização anterior? A sim, passar numeros como variável, aqui, não funciona como você gostaria.
 vetor = new int[]{numeros};   
 MetodosDeOrdenacao m = new MetodosDeOrdenacao();   
 m.SelectionSort(vetor); [/code]

Tente implementar:
guarde a String obtida do campo;
chame o método split (veja no javadoc o que deve passar para ela) e guarde o vetor de strings retornado.
crie um vetor de inteiros com o tamanho do vetor de strings.
para cada item do vetor de strings, (loop/laço)
faça um parse para inteiro e guarde num item equivalente do vetor de inteiros.
Ao final, terá teu vetor de inteiros populado. Forneça o mesmo a teu MetodoDeOrdenacao.

Não sei se você percebeu, mas estou te forçando a pesquisar como usar o split. Fica relativamente fácil eu colocar o código aqui e você simplesmente copiar. Acabará por ficar dependente :wink:
Você removeu algumas coisas do teu código, mas na verdade, o código que você removeu era o que deveria ter ficado :wink:

vetor = new int[]{numeros}; não vai funcionar como você deseja. Tenha certeza disso.

Coloque o portugol no teu código (como comentário), codifique cada linha (tente), pesquise um pouco.