Como fazer e alinhar tabelas em java usando printf e format

como fazer e alinhar tabelas em java usando printf e format, estou tentando fazer mas o titulo não fica alinhado com as informações recebidas.

O printf permite-te definir o tamanho fixo das variaveis.
Por exemplo, podes ter algo assim

private void imprimirCliente() {
    System.out.println("-------------------------------------------------");
    System.out.printf("%-25s%-15s%-10s\n", "Nome", "Plano", "Idade");
    System.out.println("-------------------------------------------------");
    for (Cliente cliente:clientes){
        System.out.printf("%-25s%-15s%-10d\n", cliente.getNome(), cliente.getPlano(), cliente.getIdade());
    }
}

E irá imprimir assim

-------------------------------------------------
Nome                     Plano          Idade     
-------------------------------------------------
Larissa Almeida          Prata          30        
Fernando Dias            Bronze         32        
João                     Ouro           20    

Podes ver um resumo de como funciona o printf aqui.