Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/12/2014, 07:22
Avatar de Profesor_Falken
Profesor_Falken
 
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 4 meses
Puntos: 182
Respuesta: ingreso de datos desde scanner tipo string pero que no acepte repetidos

Buenas,

Lo mas normal para este caso es que utilices algun tipo de coleccion que un simple array.
Puedes, por ejemplo, utilizar una lista de strings:

Código Java:
Ver original
  1. Scanner S=new Scanner (System.in);
  2. List<String> lista  =new ArrayList<>();
  3. for (int i=0 ; i <5; i++){
  4.      String elemento = S.nextLine();
  5.      if (!lista.contains(elemento)) {
  6.          lista.add(elemento);
  7.      }
  8. }

O, para este caso, mejor un set, que garantiza automaticamente que no vas a tener repetidos:

Código Java:
Ver original
  1. Scanner S=new Scanner (System.in);
  2. Set<String> lista  =new HashSet<>();
  3. for (int i=0 ; i <5; i++){
  4.      lista.add(S.nextLine());
  5. }


Si te han pedido que lo hagas obligatoriamente con arrays:

Código Java:
Ver original
  1. Scanner S=new Scaneer (System.in);
  2. String lista [ ] =new String [5];
  3. for (int i=0 ; i <lista.length; i++){
  4.     boolean existe= false;
  5.     String elemento = S.nextLine();
  6.     for (int j=0; j<i; j++) {
  7.         if (lista[j].equals(elemento)) {
  8.              existe= true;
  9.          }
  10.     }
  11.     if (!existe) {
  12.          lista [i]=elemento;
  13.     }
  14. }


Nota: no tengo problema en aceptarte en amistades, pero no contesto mensajes privados

Un saludo
__________________
If to err is human, then programmers are the most human of us