Advertisement
robeeeert

Validar Cui

Jun 14th, 2023
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.01 KB | None | 0 0
  1.     public static boolean validarCui(String cui) {
  2.         int contadorDigitos = 0;
  3.         boolean cuiValido = false;
  4.         String ultimosCuatroDigitos;
  5.         //Validamos que el CUI tenga 13 caracteres para que sea correcto
  6.         if (cui.length() == 13) {
  7.             for (int i = 0; i < cui.length(); i++) {
  8.                 //Validamos que el primer caracter no sea cero
  9.                 if (i == 0) {
  10.                     switch (cui.charAt(i)) {
  11.                         case '1':
  12.                         case '2':
  13.                         case '3':
  14.                         case '4':
  15.                         case '5':
  16.                         case '6':
  17.                         case '7':
  18.                         case '8':
  19.                         case '9':
  20.                             contadorDigitos++;//Si son todos numeros 1-9 se aumenta el contador
  21.                             break;
  22.                     }
  23.                 }
  24.                 //Validamos que los digitos de las posiciones 1-12 sean todos digitos
  25.                 switch (i) {
  26.                     case 1:
  27.                     case 2:
  28.                     case 3:
  29.                     case 4:
  30.                     case 5:
  31.                     case 6:
  32.                     case 7:
  33.                     case 8:
  34.                     case 9:
  35.                     case 10:
  36.                     case 11:
  37.                     case 12:
  38.                         switch (cui.charAt(i)) {
  39.                             case '0':
  40.                             case '1':
  41.                             case '2':
  42.                             case '3':
  43.                             case '4':
  44.                             case '5':
  45.                             case '6':
  46.                             case '7':
  47.                             case '8':
  48.                             case '9':
  49.                                 contadorDigitos++;//Si son todos digitos 0-9 se aumenta el contador
  50.                                 break;
  51.                         }
  52.                 }
  53.             }
  54.         } else {
  55.             System.out.println("Ingrese un cui correcto");
  56.         }
  57.         ultimosCuatroDigitos = cui.substring(9);
  58.         if (contadorDigitos == cui.length()) {//Validamos que el tamaño del contador sea igual que el cui
  59.             if (!buscarEnArchivo(ultimosCuatroDigitos)) {//Se llama la funcion buscarEnArchivo para validar que los ultimos cuatro digitos se encuentren en el archivo
  60.                 cuiValido = false; //Se cambia a false cuando los ultimos 4 digitos no existen en el archivo
  61.             } else {
  62.                 cuiValido = true;//Si encuentra los cuatro digitos se cabia a true
  63.             }
  64.         }
  65.        
  66.         return cuiValido;
  67.     }
  68.    
  69.     public static boolean buscarEnArchivo(String ultimosCuatroDigitos) {
  70.         //String archivo = "DepartamentosMunicipios.txt";//Variable con el nombre del archivo donde se encuentran los codigos
  71.         boolean codigoEncontrado = false;
  72.         //Abrimos el archivo para lectura
  73.         try {
  74.             BufferedReader br = new BufferedReader(new FileReader("DepartamentosMunicipios.txt"));
  75.             String linea;
  76.             //Leemos cada linea del archivo para comprobar que los ultimos 4 caracteres del cui existan en el archivo
  77.             while ((linea = br.readLine()) != null) {
  78.                 if (linea.length() >= 4) {//Verifica si la linea tiene por lo menos 4 caracteres y a partir de esto se crea el siguiente substring
  79.                     String codigo = linea.substring(0, 4);//Crea un sub string con los 4 primeros caracteres de la linea
  80.                     if (codigo.equals(ultimosCuatroDigitos)) {//compara si los 4 caracteres de la linea son iguales a los ultimos 4 caracteres del CUI
  81.                         codigoEncontrado = true;
  82.                         break;
  83.                     }
  84.                 }
  85.             }
  86.         } catch (IOException e) {
  87.             System.out.println("No se encontro el archivo");
  88.            
  89.         }
  90.        
  91.         return codigoEncontrado;
  92.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement