2016-06-19 18 views
1

私はrandomaccesFileに行くメソッドを持っています。これは、アクティブな場合は "A"を、アクティブでない場合は "B"を保持し、バイト数の場合は "B"レコードに登録して登録する。コードがそのメソッドに等しいときに何が起きて真を返すようにするか。しかし、最後に、私は再帰を再帰値を返すせずにあなた実際にtrueの場合、メソッドはfalseを返します。java

public boolean seEncuentra(int pos , char[] codigo) { 

    clsPersona contacto = new clsPersona(); //object contact 
    try { 

      // buscar registro apropiado en el archivo 
      abrirArchivo(); 
      archivo.seek(pos); 
      contacto.estado = archivo.readUTF(); 
      contacto.setTAMANIO(archivo.readInt()); 
      if("A".equals(contacto.estado)) 
      { 
       for (int i = 0; i < 3; i++) { 
        contacto.codigo[i] = archivo.readChar(); 
       } 
       if(Arrays.equals(codigo, contacto.codigo)) 
       { 
        return true; //enter here and ends up returning false at the end 
       } 
       else 
       { 
        pos+=contacto.TAMANIO; 
        seEncuentra(pos, codigo); 
       } 

      } 
      else 
      { 
       pos+=contacto.TAMANIO; 
       seEncuentra(pos, codigo); 
      } 
      cerrarArchivo(); 
     } 


    catch (Exception ex) { 
     System.out.println(ex.getMessage()); 
     ex.printStackTrace(); 
     cerrarArchivo(); 
     return false; 
    } 
    return false; 
} 

答えて

関連する問題