Ajuda com Arraylist

7 respostas
M

Ola Galera to aprendendo java, e tava fazendo um programinha em anexo usando um arraylist, ate agora ta blza ele pedi pra digitar os nomes, guarda e imprime, porem gostaria de implementar para que quando digitasse um nome que ja estivesse no array ele mostrasse uma mensagem de erro e pedisse para digitar outro nome. alguem pode me ajudar?

import java.util.ArrayList;
import java.util.Scanner;

public class Exercicio_1 {
public static void main (String[] args){

ArrayList<String> nomes;
	nomes = new ArrayList<String>();

	System.out.println("Digite Um nome");
	Scanner nome = new Scanner(System.in);
	
	for (int i=0; i<10; i++){
		nomes.add(nome.nextLine());
		System.out.println("Digite Um nome");
	}
	
	for (int i=0; i<nomes.size(); i++){
		System.out.println(nomes.get(i));	
	}
	
	
}

}

7 Respostas

fontoura

acho que o metodo contains resolva o seu problema.

use assim

if (nomes…contains("<a>")) {

//Nao deixa inserir

}</a>

acho que é isso T+

M

Valeu pela dica fontoura, mas ainda num deu!

V

Faca assim

for (int i = 0; i < 10; i++) {
            String nomeNovo = nome.nextLine();
            if (!nomes.contains(nomeNovo)) {
                nomes.add(nomeNovo);
            } else {
                System.out.println("Nome já cadastrado.");
            }
            System.out.println("Digite Um nome");
        }
M

Valeu vdb, funfa blza, porem tem so um probleminha quando voce informa um valor que ja existe no array ele pula aquele espaço, ou seja mosta somente 09 elementos inves de 10.

marcosharbs

pode fazer um controle pra isso na mão tp:

boolean nomeExistente = false;
for(int i=0, i<nomes.size(); i++){
  if(nomes.get(i).equals(nomeDigitado)){
     nomeExistente = true;
  }
}
if(nomeExistente){
  system.out.println("Este nome já existe na lista");
}
V

assim entao

for (int i = 0; i < 10; ) {   
    String nomeNovo = nome.nextLine();   
    if (!nomes.contains(nomeNovo)) {   
        nomes.add(nomeNovo);
        i++;
    } else {   
        System.out.println("Nome já cadastrado.");   
    }   
    System.out.println("Digite Um nome");   
}
M

Valeu Pessoal fico blza ja estou ate fazendo outras coisas!!!

Muito Obrigado a Todos!

Criado 5 de novembro de 2008
Ultima resposta 5 de nov. de 2008
Respostas 7
Participantes 4