O que é correto usar ou fazer?

Olá.
Estou fazendo um joguinho onde o usuário deve entrar com 2 strings (qpalavra e qdica), serão diversas entradas e logo depois haverá uma opção para exibir este conteúdo que eu quero que sejam ordenados da seguinte maneira:
qpalavra1 - qdica1
qpalavra2 - qdica2
qpalavra3 - qdica3
qpalavra4 - qdica4
… - …
PARA ARMAZENAR:
ArrayList matCarga = new ArrayList();
boolean tam1 = false;
System.out.print("Palavra: ");
while (!tam1) {
qPalavra = scan.nextLine();
if (qPalavra.length() >= 4) {
tam1 = true;
}
}
boolean tam2 = false;
System.out.print("Dica : ");
while (!tam2) {
qDica = scan.nextLine();
if (qDica.length() >= 5) {
tam2 = true;
}
}

    matCarga.add(qPalavra);
    matCarga.add(qDica);
    matCarga.add(""+qPalavra.length());

PARA EXAMINAR OS DADOS <- É aqui onde preciso de ajuda de vocês.
boolean examinar = false;
while (!examinar) {
int x = 0;
while(x <= (n-2)){
System.out.println(matCarga); <----- não sei o que fazer com isso.
x++;
}

Cara eu juro q tentei entender nas o codigo alem de confuso esta mal formatado.

Tenta editar ou explicar melhor

A única coisa coisa que entendi, é que abaixo teremos um looping infinito. Não tenho certeza se essa era a sua intenção.

Perdão a todos. Acho mesmo que me expressei mal.

Eu preciso acomodar as entradas (são 2 strings), ou em uma matriz ou um list (não sei…) e depois haverá uma opção (menu) chamada exibir dados, da qual devo obter o conteúdo organizado como abaixo:
qpalavra1 - qdica1
qpalavra2 - qdica2
qpalavra3 - qdica3
qpalavra4 - qdica4
… - …
Podem haver muitas ou poucas entradas e as minhas dúvidas são:
Como armazenar de forma correta e é claro onde armazenar para então poder recuperar este conteúdo e ainda poder utilizar para eventualmente editar dados, excluir dados e até mesmo adicionar mais dados.
Estou armazenando assim:
ArrayList matCarga = new ArrayList();

Essa é a melhor forma? E vai me permitir recuperar mostrando do modo que mostrei acima?
E quando quiser remover 1 ítem (qpalavra + qdica) como fazer?
E quando quiser editar 1 ítem (qpalavra + qdica) como fazer?

Será que agora ficou mais fácil pra vocês? Obrigado mesmo a todos.

Cada dica e palavra serão inseridas aleatoriamente? Ou emparelhadas?

Melhor usar métodos

public static String leiaQPalavra() {
  System.out.print("Palavra: ");
  while(true) {
    String qPalavra = scan.nextLine();
    if (qPalavra.length() >= 4) {
      return qPalavra;
    } else {
      System.out.print("Tamanho inválido, tente novamente");
    }
  }
}

public static String leiaQDica() {
  // TODO
}

ou

public static String leiaString(String mensagem, int tamanho) {
  System.out.print(mensagem);
  while(true) {
    String entrada = scan.nextLine();
    if (entrada.length() >= tamanho) {
      return entrada;
    } else {
      System.out.print("Tamanho inválido, tente novamente");
    }
  }
}

public static String leiaQPalavra() {
  return leiaString("Palavra: ", 4);
}

e para armazenar e obter as palavras e dicas:

public static void guardarPalavraDica(ArrayList lista, String palavra, String dica) {
  String[] vetor = new String[2];
  vetor[0] = palavra;
  vetor[1] = dica;
  lista.add(vetor);
}

public static String[] obterPalavraDica(ArrayList lista, int indice) {
  return (String[])lista.get(i);
}
1 curtida

Inicialmente eu criaria uma classe Entrada com dois atributos: palavra e dica.
Depois eu criaria um List<Entrada> e trabalharia com ele.

2 curtidas