Ajuda - Organização com 3 vetores

OIá, estou começando em programação e preciso de ajuda. Preciso fazer um programa que colete numeros no Vetor A e mova os numeros organizados de forma crescente para o Vetor C. Conforme exemplo abaixo.

Utilizo Netbeans como IDE.

Desde já muito obrigado.

Brother, qual o enunciado correto do problema, pois, só pelas imagens e o que você descreveu, tem algum ponto faltando.
Pois, é relativamente simples fazer isso, mesmo com vetores.

O enunciado é esse “Faça um programa em Java com 3 vetores (A,B,C) no qual será inserido pelo usuário 10 valores no vetor A desordenadamente, você deve ordenar o vetor A de forma crescente e mover os valores para o vetor C de forma que os números sempre esteja ordenados. Abaixo segue os exemplos dos movimentos entre os vetores. (Utilize vetores, ordenação para o estado inicial do vetor A, e função).”

Sobre a organização realmente é tranquilo, o que ta me quebrando é saber como vou passar eles da maneira da foto.

Os momentos não estão corretos. Há saltos em alguns (por exemplo do 3 para o 4 foram movidos 2 números, assim como do 4 para o 5 ou do 6 para o 7)
De qualquer forma isto é o problema da torre de Hanoi disfarçado e so tens de mover os números na direção correta.

É isso importa para a resolução do problema?

Para mover valores entre arrays é simples:

TipoDeDado elemento = arrayOrigem[posicaoOrigem];
arrayOrigem[posicaoOrigem] = null;
arrayDestino[posicaoDestino] = elemento;

Sobre o algoritmo, é como nosso colega já disse, trata-se de uma explicação complicada para o problema das Torres de Hanói, ou Torres de Brahma:

No grande templo de Brahma em Benares, numa bandeja de metal sob a cúpula que marca o centro do mundo, três agulhas de diamante servem de pilar a sessenta e quatro discos de ouro puro.

Incansavelmente, os sacerdotes transferem os discos, um de cada vez, de agulha para agulha, obedecendo sempre à lei imutável de Brahma: Nenhum disco se poderá sobrepor a um menor.

No início do mundo todos os sessenta e quatro discos de ouro, foram dispostos na primeira das três agulhas, constituindo a Torre de Brahma.

No momento em que o menor dos discos for colocado de tal modo que se forme uma vez mais a Torre de Brahma numa agulha diferente da inicial, tanto a torre como o templo serão transformados em pó e o ribombar de um trovão assinalará o fim do mundo.

Eu precisaria fazer isso dentro de um For?

TipoDeDado elemento = arrayOrigem[posicaoOrigem];
arrayOrigem[posicaoOrigem] = null;
arrayDestino[posicaoDestino] = elemento;

Até o momento Eu fiz a organização de A. O que preciso agora é pegar os 10 numeros de A e inserir eles na torre de Hanoi.

import java.util.Arrays;
import javax.swing.JOptionPane;

public class Trabalho1 {

static int a[] = new int[10]; // Números desordenados
static int b[] = new int[10];
static int c[] = new int[10];

public static void main(String[] args) {

    // recebe os números digitados pelo usuário  
    for (int i = 0; i < a.length; i++) {
        a[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite os números: "));
    }

    int aux;

    for (int i = 0; i < a.length; i++) {
        for (int j = 1; j < a.length; j++) {
            if (a[j - 1] > a[j]) {
                aux = a[j];
                a[j] = a[j - 1];
                a[j - 1] = aux;

            }
        }
    }

}

}

Você precisa mostrar no Console cada passo?
Se não, você já tem a biblioteca Arrays contigo. Deixa ela trabalhar para você:

Arrays.toString(a);

Como disse ainda sou iniciante, pode ser mais especifico como posso fazer isso?

eu coloquei Arrays.toString, mas não é essa. é a Arrays.sort();

seu código ficaria assim:
public static void main(String[] args) {

    // recebe os números digitados pelo usuário  
    for (int i = 0; i < a.length; i++) {
        a[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite os números: "));
    }
    c = Arrays.sort(a);
    System.out.println(Arrays.toString(c));

Mas nesse caso é apenas para cortar caminho. vc quer a torre C alinhada do menor para o maior. a torre de hanoi é um processo de algoritimo

Isso é o que preciso fazer e o que estou tendo dificuldades.

Não adianta te trazer a resposta se o foco é você entender o algoritimo:
https://pt.khanacademy.org/computing/computer-science/algorithms/towers-of-hanoi/a/towers-of-hanoi

boa leitura

Olá pessoal, estou fazendo a torre de maneira recursiva. Como já disse sou iniciante e imagino que possua diversos erros. Mas basicamente o que fiz foi pedir ao usuário números desordenados na Main, depois disso criei 1 subrotina para ordenar os números em A e depois disso uma rotina para que de fato se resolva a torre de Hanói de maneira recursiva. Porem ainda não está funcionando, podem verificar onde está o erro e me ajudar?

import javax.swing.JOptionPane;

public class Trabalho1 {

static int a[] = new int[10]; // Números desordenados
static int b[] = new int[10];
static int c[] = new int[10];

public static void main(String[] args) {

    // recebe os números digitados pelo usuário  
    for (int i = 0; i < a.length; i++) {
        a[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite os números: "));
        organizaA();
        resolvehanoi();
    }
}

public static void organizaA() {

    int aux;

    for (int i = 0; i < a.length; i++) {
        for (int j = 1; j < a.length; j++) {
            if (a[j - 1] > a[j]) {
                aux = a[j];
                a[j] = a[j - 1];
                a[j - 1] = aux;

            }
        }
    }
}

public static void resolvehanoi() {
    int qtda;
    int qtdb;
    int qtdc;

    if (qtda == 0 && qtdb == 0) {
        exibir();
    }

    if (a[qtda - 1] > 0 && a[qtda - 1] < b[qtdb - 1]) {
        a[qtda - 1] = b[qtdb];
        qtda--;
        qtdb++;
    } else {
        a[qtda - 1] = c[qtdc];
    }
    if (b[qtdb - 1] > 0 && b[qtdb - 1] < c[qtdc - 1]) {
        b[qtdb - 1] = c[qtdc];
        qtdb--;
        qtdc++;
    } else {
        a[qtda - 1] = b[qtdb];
        qtda--;
        qtdb++;
    }
    if (c[qtdc - 1] > 0 && c[qtdc - 1] < a[qtda - 1]) {
        c[qtdc - 1] = a[qtda];
        qtdc--;
        qtda++;
    } else {
        c[qtdc - 1] = b[qtdb];
        qtdc--;
        qtdb++;
    }
    else{
            b[qtdb-1] = a[qtda];
            qtdb--;
                        qtda++;
            }
}

public static void exibir() {
    for (int i = 0; i > c.length; i++) {
        System.out.println("Os números em C São: " + c[i]);
    }
}

}