Vetor não repetir objeto

3 respostas
vetorjava
Splayer

Estou tentando fazer com que um vetor não repita os valores, após isso verificar se existe variável, caso não, adiciona-la.

Set<String> dica = new HashSet<>();
String[] aux = {"Metais Alcalinos", "Metais Alcalino-Terrosos", "Metais de Transição",     "Lantanídeos", "Actinídeos", "Metais Representativos", "Semi-Metais", "Não-Metais", "Halogênios", "Gases Nobres"};
String resposta = "Gases Nobres";

        while (dica.size() == 3) {
            dica.add(aux[rand.nextInt(aux.length)]);
        }
        if (!dica.contains(resposta)) {
            dica.add(resposta);
        }

3 Respostas

matheus.cirillo

Você está trabalhando com Collections e Arrays?

jonathan.sky

Seria viável colocar um sinalizar dentro do array aux, por exemplo null, assim quando ele fizer o Random, você compara o valor que tem dentro, se for == null, repita o laço novamente else pega o nome e guarda em array dos selecionados e depois coloca null nesse mesmo array onde o nome foi extraido, repita isso até dica.size == 3.

staroski

Poderia criar uma classe Pergunta com dois atributos: uma coleção String chamada dicas e uma String chamada resposta.

Criado 25 de novembro de 2016
Ultima resposta 26 de nov. de 2016
Respostas 3
Participantes 4