O que é correto usar ou fazer?

6 respostas Resolvido
java
P
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++;

}

6 Respostas

P

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

Tenta editar ou explicar melhor

P

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

P

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.

D

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

D
Solucao aceita

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);
}
S

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

Criado 11 de setembro de 2018
Ultima resposta 12 de set. de 2018
Respostas 6
Participantes 6