Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2017, 08:49
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 11 meses
Puntos: 4
Evitar Duplicar datos

Hola buenas, pues resulta que tengo un formulario donde doy de alta Personas con un nivel de seguridad, cada "Nick" de usuario debe de ser único, pero resulta que el método que tengo dentro de Personal buscarNick(nick) siempre parece dar -1 y siempre me deja dar de alta el mismo usuario hice lo mismo pero con tipo boolean y sigo teniendo el mismo problema.

Dar de alta se da, ya que el 'Vector' aumenta de tamaño..

Main.java
Código Java:
Ver original
  1. public class Main {
  2.    
  3.     /*Personal*/
  4.     static Vector<Personal> personal = new Vector();
  5.    
  6.     /*Clientes*/
  7.     static Vector<Clientes> clientes = new Vector();
  8. }


Personal.java
Código Java:
Ver original
  1. package Hotel;
  2. import java.io.Serializable;
  3.  
  4. /**
  5.  * Clase Personal
  6.  *
  7.  * @author jose
  8.  */
  9. public class Personal implements Serializable {
  10.    
  11.     private String nick;
  12.     private String passwd;
  13.     private String nivel;
  14.  
  15.  
  16.     public Personal(String nick, String passwd, String nivel) {
  17.         this.nick = nick;
  18.         this.passwd = passwd;
  19.         this.nivel = nivel;
  20.     }    
  21.     Personal(){
  22.     }
  23.  
  24.     public String getNick() {
  25.         return nick;
  26.     }
  27.  
  28.     public void setNick(String nick) {
  29.         this.nick = nick;
  30.     }
  31.  
  32.     public String getPasswd() {
  33.         return passwd;
  34.     }
  35.  
  36.     public void setPasswd(String passwd) {
  37.         this.passwd = passwd;
  38.     }
  39.  
  40.     public String getNivel() {
  41.         return nivel;
  42.     }
  43.  
  44.     public void setNivel(String nivel) {
  45.         this.nivel = nivel;
  46.     }
  47.    
  48.    static public int buscarNick(String nick){
  49.        
  50.         for (int i = 0; i < Main.personal.size(); i++) {
  51.             if( Main.personal.get(i).getNick().equals(nick) ){
  52.                 return (i);
  53.             }else{
  54.                 return -1;
  55.             }
  56.         }
  57.         return -1;
  58.     }
  59.    
  60. }

Form.java
Código Java:
Ver original
  1. private Personal Personal;
  2.  
  3. if(Personal.buscarNick(nick)==-1){
  4.                
  5.                 Personal = new Personal(nick, passwd, nivel);
  6.                 Main.personal.add(Personal);
  7.                
  8.                 JOptionPane.showMessageDialog(this, "Se añadio correctamente");
  9.             }else{
  10.                 System.out.println("El usuario ya existe");
  11.                 JOptionPane.showMessageDialog(this, "El usuario ya existe");
  12.             }

Última edición por Jose789; 02/06/2017 a las 09:22