Advertisement
Re_21

codigo

May 31st, 2023
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 36.89 KB | None | 0 0
  1. /*
  2.  * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
  3.  */
  4. package com.mycompany.proyecto_final;
  5.  
  6. /**
  7.  *
  8.  * @author victo
  9.  */
  10. //PRINCIPAL
  11. import java.io.*;
  12.  
  13. import java.util.*;
  14.  
  15. public class Proyecto_final {
  16.  
  17.     public static void main(String[] args) throws IOException {
  18.  
  19.         Scanner entrada = new Scanner(System.in);
  20.         String opcion = "";
  21.         String salirPrincipal = "";//Variable para controlar el menu principal, permite terminar el programa incluso desde los submenu
  22.         String regresar = "";//Variable para controlar los submenus y poder regresar al menu principal
  23.         //menu principal
  24.         while (salirPrincipal != "1") {
  25.             menuPrincipal();
  26.             System.out.println("Ingrese una opción");
  27.             try {
  28.                 opcion = entrada.nextLine();
  29.             } catch (Exception e) {
  30.                 System.out.println("Opcion no valida");
  31.             }
  32.             switch (opcion) {
  33.                 //Menu Clientes
  34.                 case "1":
  35.                     while (regresar != "1") {
  36.                         menuClientes();
  37.                         System.out.println("Ingrese una opción");
  38.                         try {
  39.                             opcion = entrada.nextLine();
  40.                         } catch (Exception e) {
  41.                             System.out.println("Opcion no valida");
  42.                         }
  43.                         switch (opcion) {
  44.                             //Ingresar nuevo cliente
  45.                             case "1":
  46.                                 System.out.println("Ingrese un numero de cui: ");
  47.  
  48.                                 String cui = entrada.nextLine();
  49.  
  50.                                 if (validarCui(cui) == true) {
  51.                                     System.out.println("Ingrese un numero de nit con guiones [010101010109-3]: ");
  52.                                     String nit = entrada.nextLine();
  53.                                     if (validarNIT(nit) == true) {
  54.                                         System.out.println("Ingrese una direccion de residencia: ");
  55.                                         String dResidencia = entrada.nextLine();
  56.                                         System.out.println("Ingrese un nombre de la Empresa");
  57.                                         String nEmpresa = entrada.nextLine();
  58.                                         System.out.println("Ingrese una direccion de la empresa: ");
  59.                                         String dEmpresa = entrada.nextLine();
  60.                                         System.out.println("Ingrese una fecha de nacimiento: ");
  61.                                         String fNacimiento = entrada.nextLine();
  62.                                         if (validarFecha(fNacimiento) == true) {
  63.                                             System.out.println("Ingrese el primer nombre: ");
  64.                                             String pNombre = entrada.nextLine();
  65.                                             System.out.println("Ingrese el segundo nombre: ");
  66.                                             String sNombre = entrada.nextLine();
  67.                                             System.out.println("Ingrese el primer apellido: ");
  68.                                             String pApellido = entrada.nextLine();
  69.                                             System.out.println("Ingrese el segundo apellido: ");
  70.                                             String sApellido = entrada.nextLine();
  71.                                             System.out.println("Ingrese el numero de telefono: ");
  72.                                             String nTelefono = entrada.nextLine();
  73.                                             if (validarNumeroTelefono(nTelefono) == true) {
  74.                                                 clientes cliente = new clientes(cui, nit, dResidencia, nEmpresa, dEmpresa, fNacimiento, pNombre, sNombre, pApellido, sApellido, nTelefono, "1");
  75.                                                 ArchivoSecuencial.registrarCliente(cliente);
  76.                                             }
  77.                                         }
  78.                                     }
  79.                                 }
  80.  
  81.                                 break;
  82.  
  83.                             case "2":
  84.                                 //Buscar cliente
  85.                                 System.out.println("Ingrese una opcion: \n 1. Buscar por CUI\n 2.Buscar por Nit\n 3. Buscar por primer Nombre \n 4. Buscar por segundo Nombre \n 5. buscar por primer Apellido \n 6. Buscar por segundo apellido");
  86.                                 String opcionBuscar = entrada.nextLine();
  87.                                 switch (opcionBuscar) {
  88.                                     case "1":
  89.                                         System.out.println("Ingrese un numero de cui: ");
  90.                                         String Cui = entrada.nextLine();
  91.                                         if (validarCui(Cui) == true) {
  92.                                             ArchivoSecuencial.consultarCliente(Cui, null, null, null, null, null);
  93.                                         }
  94.                                         break;
  95.                                     case "2":
  96.                                         System.out.println("Ingrese un numero de nit con guiones [010101010109-3]: ");
  97.                                         String nit = entrada.nextLine();
  98.                                         if (validarNIT(nit) == true) {
  99.                                             ArchivoSecuencial.consultarCliente(null, nit, null, null, null, null);
  100.                                         }
  101.                                         break;
  102.                                     case "3":
  103.                                         System.out.println("Ingrese un primer nombr a buscar: ");
  104.                                         String primerNombre = entrada.nextLine();
  105.                                         ArchivoSecuencial.consultarCliente(null, null, primerNombre, null, null, null);
  106.                                         break;
  107.                                     case "4":
  108.                                         System.out.println("Ingrese un segundo nombre a buscar: ");
  109.                                         String segundoNombre = entrada.nextLine();
  110.                                         ArchivoSecuencial.consultarCliente(null, null, null, segundoNombre, null, null);
  111.                                         break;
  112.                                     case "5":
  113.                                         System.out.println("Ingrese un primer apellido a buscar: ");
  114.                                         String primerApellido = entrada.nextLine();
  115.                                         ArchivoSecuencial.consultarCliente(null, null, null, null, primerApellido, null);
  116.                                         break;
  117.                                     case "6":
  118.                                         System.out.println("Ingrese un segundo apellido a buscar: ");
  119.                                         String segundoApellido = entrada.nextLine();
  120.                                         ArchivoSecuencial.consultarCliente(null, null, null, null, null, segundoApellido);
  121.  
  122.                                         break;
  123.                                 }
  124.                                 break;
  125.                             case "3":
  126.                                 //mostrar clientes
  127.                                 ArchivoSecuencial.consultarClientes();
  128.                                 break;
  129.                             //Modificar datos de cliente   
  130.                             case "4":
  131.                                 System.out.println("Ingrese una opcion: \n 1. Modificar por CUI \n 2. Modificar por NIT ");
  132.                                 String opcionModificar = entrada.nextLine();
  133.                                 switch (opcionModificar) {
  134.                                     case "1":
  135.                                         System.out.println("Ingrese un Cui");
  136.                                         cui = entrada.nextLine();
  137.                                         if (validarCui(cui) == true) {
  138.                                             ArchivoSecuencial.modificarCliente(cui, null);
  139.  
  140.                                         }
  141.                                         break;
  142.                                     case "2":
  143.  
  144.                                         System.out.println("Ingrese un Cui");
  145.                                         String nit = entrada.nextLine();
  146.                                         if (validarNIT(nit) == true) {
  147.                                             ArchivoSecuencial.modificarCliente(null, nit);
  148.                                         }
  149.                                         break;
  150.                                 }
  151.                                 break;
  152.                             //Eliminar Cliente
  153.                             case "5":
  154.                                 System.out.println("Ingrese un cui: ");
  155.                                 cui = entrada.nextLine();
  156.                                 ArchivoSecuencial.eliminarClienteLogico(cui);
  157.  
  158.                                 break;
  159.                             //Regresar al menu principal
  160.                             case "6":
  161.                                 regresar = "1";
  162.                                 break;
  163.                             case "7":
  164.                                 regresar = "1";
  165.                                 salirPrincipal = "1";
  166.                                 break;
  167.                         }
  168.                     }
  169.                     regresar = "";
  170.                     break;//Case1
  171.                 //Menu Vehiculos
  172.  
  173.                 case "2":
  174.  
  175.                     while (regresar != "1") {
  176.                         menuVehiculos();
  177.                         System.out.println("Ingrese una opción");
  178.                         try {
  179.                             opcion = entrada.nextLine();
  180.                         } catch (Exception e) {
  181.                             System.out.println("Opcion no valida");
  182.                         }
  183.                         switch (opcion) {
  184.                             //Ingresar nuevo vehiculo
  185.                             case "1":
  186.                                 System.out.println("Ingrese un numero de placa: ");
  187.                                 String placa = entrada.nextLine();
  188.                                 if (validarPlaca(placa) == true) {
  189.                                     System.out.println("Ingrese una marca del vehiculo: ");
  190.                                     String marca = entrada.nextLine();
  191.                                     System.out.println("Ingrese una linea del vehiculo: ");
  192.                                     String linea = entrada.nextLine();
  193.                                     System.out.println("Ingrese modelo del vehiculo: ");
  194.                                     String modelo = entrada.nextLine();
  195.                                     if (validarModelo(modelo) == true) {
  196.                                         System.out.println("Ingrese color del vehiculo: ");
  197.                                         String color = entrada.nextLine();
  198.                                         System.out.println("Ingrese nit del propietario del vehiculo: ");
  199.                                         String nit = entrada.nextLine();
  200.                                         if (validarNIT(nit) == true) {
  201.                                             vehiculos vehiculo = new vehiculos(placa, marca, linea, modelo, color, nit, "1");
  202.                                             ArchivoSecuencial.registrarVehiculo(vehiculo);
  203.  
  204.                                         }
  205.                                     }
  206.                                 }
  207.                                 break;
  208.                             //Buscar vehiculo
  209.                             case "2":
  210.                                 System.out.println("Ingrese un numero de placa: ");
  211.                                 placa = entrada.nextLine();
  212.                                 if (validarPlaca(placa) == true) {
  213.                                     ArchivoSecuencial.consultarVehiculo(placa);
  214.                                 }
  215.  
  216.                                 break;
  217.                             //mostrar vehiculos
  218.                             case "3":
  219.                                 ArchivoSecuencial.consultarVehiculos();
  220.                                 break;
  221.                             //Modificar datos de vehiculo  
  222.                             case "4":
  223.                                 System.out.println("Ingrese un numero de placa para modificar el vehiculo: ");
  224.                                 placa = entrada.nextLine();
  225.                                 if (validarPlaca(placa) == true) {
  226.                                     System.out.println("Ingrese una marca del vehiculo: ");
  227.                                     String marca = entrada.nextLine();
  228.                                     System.out.println("Ingrese una linea del vehiculo: ");
  229.                                     String linea = entrada.nextLine();
  230.                                     System.out.println("Ingrese modelo del vehiculo: ");
  231.                                     String modelo = entrada.nextLine();
  232.                                     if (validarModelo(modelo) == true) {
  233.                                         System.out.println("Ingrese color del vehiculo: ");
  234.                                         String color = entrada.nextLine();
  235.                                         System.out.println("Ingrese nit del propietario del vehiculo: ");
  236.                                         String nit = entrada.nextLine();
  237.                                         if (validarNIT(nit) == true) {
  238.                                             vehiculos vehiculo = new vehiculos(placa, marca, linea, modelo, color, nit, "1");
  239.                                             ArchivoSecuencial.modificarVehiculo(placa);
  240.                                         }
  241.                                     }
  242.                                 }
  243.                                 break;
  244.                             //Regresar al menu principal
  245.                             case "6":
  246.                                 regresar = "1";
  247.                                 break;
  248.                             //salir
  249.                             case "7":
  250.                                 regresar = "1";
  251.  
  252.                                 salirPrincipal = "1";
  253.                                 break;
  254.                         }
  255.                     }
  256.                     regresar = "";
  257.                     break;//case2
  258.                 //Menu registro de parqueos
  259.                 case "3":
  260.  
  261.                     while (regresar != "1") {
  262.                         menuParqueos();
  263.                         System.out.println("Ingrese una opción");
  264.                         try {
  265.                             opcion = entrada.nextLine();
  266.                         } catch (Exception e) {
  267.                             System.out.println("Opcion no valida");
  268.                         }
  269.                         switch (opcion) {
  270.                             //Ingresar nuevo parqueo
  271.                             case "1":
  272.                                 System.out.println("Ingrese un numero de parqueo que desee: ");
  273.                                 String numeroParqueo = entrada.nextLine();
  274.                                 System.out.println("Ingrese un numero de placa del vehiculo: ");
  275.                                 String placa = entrada.nextLine();
  276.                                 if (validarPlaca(placa) == true) {
  277.                                     System.out.println("Ingrese un numero de nit del cliente: ");
  278.                                     String nit = entrada.nextLine();
  279.                                     if (validarNIT(nit)) {
  280.                                         System.out.println("Ingrese una fecha del registro del parqueo");
  281.                                         String fechaRegistro = entrada.nextLine();
  282.                                         if (validarFecha(fechaRegistro)) {
  283.                                             RegistroAsignacionParqueos parqueo = new RegistroAsignacionParqueos(numeroParqueo, placa, nit, numeroParqueo);
  284.                                             ArchivoDirecto.ingresarRegistro(parqueo);
  285.                                         }
  286.                                     }
  287.                                 }
  288.  
  289.                                 break;
  290.                             //Buscar parqueo
  291.  
  292.                             case "2":
  293.                                 System.out.println("Ha seleccionado el menu de [Consultar Parqueos]: \n1.Parqueos asignados \n2.Parqueos disponibles. \n3.Parqueo especifico");
  294.                                 String opcionMenu = entrada.nextLine();
  295.                                 switch (opcionMenu) {
  296.                                     case "1":
  297.                                         System.out.println("Parqueos asignados");
  298.                                         //parqueos asignado
  299.                                         ArchivoDirecto.consultarParqueosAsignados();
  300.                                         break;
  301.                                     case "2":
  302.                                         System.out.println("Parqueos disponibles");
  303.                                         ArchivoDirecto.consultarParqueosDisponibles();
  304.                                         break;
  305.                                     case "3":
  306.                                         System.out.println("Parqueo especifico");
  307.                                         numeroParqueo = entrada.nextLine();
  308.  
  309.                                         ArchivoDirecto.consultarParqueoEspecifico(Integer.parseInt(numeroParqueo));
  310.                                         break;
  311.                                 }
  312.                                 break;
  313.                             //modificar parqueos   
  314.                             case "3":
  315.                                 System.out.println("Ha seleccionado el menu de [Modificar Parqueo]: \n1.Modificar Parqueo \n2.Liberar Parqueo");
  316.                                 opcionMenu = entrada.nextLine();
  317.                                 switch (opcionMenu) {
  318.                                     case "1":
  319.                                         System.out.println("Ingrese un numero de parqueo: ");
  320.                                         numeroParqueo = entrada.nextLine();
  321.                                         System.out.println("Ingrese un numero de placa del vehiculo: ");
  322.                                         placa = entrada.nextLine();
  323.                                         if (validarPlaca(placa) == true) {
  324.                                             System.out.println("Ingrese un numero de nit del cliente: ");
  325.                                             String nit = entrada.nextLine();
  326.                                             if (validarNIT(nit)) {
  327.                                                 System.out.println("Ingrese una fecha del registro del parqueo");
  328.                                                 String fechaRegistro = entrada.nextLine();
  329.                                                 if (validarFecha(fechaRegistro)) {
  330.                                                     ArchivoDirecto.modificarParqueo(Integer.parseInt(numeroParqueo), placa, nit, fechaRegistro);
  331.                                                 }
  332.                                             }
  333.                                         }
  334.                                         break;
  335.  
  336.                                     case "2":
  337.  
  338.                                         break;
  339.  
  340.                                 }
  341.                         }
  342.                         //Regresar al menu principal
  343.                    
  344.            
  345.                    
  346.            
  347.         case "4":
  348.                                 regresar = "1";
  349.                                 break;
  350.                             case "6":
  351.                                 regresar = "1";
  352.                                 salirPrincipal = "1";
  353.                                 break;
  354.            
  355.        
  356.                     regresar = "";
  357.                     break;//case3
  358.                                    
  359. //Menu pagos
  360.                 case "4":
  361.  
  362.                     while (regresar != "1") {
  363.                         menuPagos();
  364.                         System.out.println("Ingrese una opción");
  365.                         try {
  366.                             opcion = entrada.nextLine();
  367.                         } catch (Exception e) {
  368.                             System.out.println("Opcion no valida");
  369.                         }
  370.                         switch (opcion) {
  371.                             //Ingresar nuevo vehiculo
  372.                             case "1":
  373.  
  374.                                 break;
  375.                             //Buscar vehiculo
  376.                             case "2":
  377.  
  378.                                 break;
  379.                             //Modificar datos de vehiculo  
  380.                             case "3":
  381.  
  382.                                 break;
  383.                             //Eliminar vehiculo
  384.                             case "4":
  385.  
  386.                                 break;
  387.                             //Regresar al menu principal
  388.                             case "5":
  389.                                 regresar = "1";
  390.                                 break;
  391.                             case "6":
  392.                                 regresar = "1";
  393.                                 salirPrincipal = "1";
  394.                                 break;
  395.                         }
  396.                     }
  397.                     regresar = "";
  398.                     break;//case4
  399.                 case "5":
  400.                     salirPrincipal = "1";
  401.             }
  402.         }//finWhile
  403.     }
  404.     //Funcion para opciones en el menu principal
  405.  
  406.    
  407.  
  408.     public static void menuPrincipal() {
  409.         System.out.println("\tPARQUEO\n");
  410.         System.out.println("MENU PRINCIPAL\n");
  411.         System.out.println("1. CLIENTES");
  412.         System.out.println("2. VEHICULOS");
  413.         System.out.println("3. PARQUEOS");
  414.         System.out.println("4. PAGOS");
  415.         System.out.println("5. SALIR");
  416.     }
  417.  
  418.     //Funcion para opciones en el menu clientes
  419.     public static void menuClientes() {
  420.         System.out.println("\tCLIENTES\n");
  421.         System.out.println("1. INGRESAR CLIENTE NUEVO");
  422.         System.out.println("2. BUSCAR CLIENTE");
  423.         System.out.println("3. MOSTRAR CLIENTES");
  424.         System.out.println("4. MODIFICAR DATOS DE CLIENTE");
  425.         System.out.println("5. ELIMINAR CLIENTE");
  426.         System.out.println("6. REGRESAR AL MENU PRINCIPAL");
  427.         System.out.println("7. SALIR");
  428.  
  429.     }
  430.  
  431.     //Función para opciones en el menu vehiculos
  432.     public static void menuVehiculos() {
  433.         System.out.println("\tVEHICULOS\n");
  434.         System.out.println("1. INGRESAR VEHICULO NUEVO");
  435.         System.out.println("2. BUSCAR VEHICULO");
  436.         System.out.println("3. MOSTRAR VEHICULOS");
  437.         System.out.println("4. MODIFICAR DATOS DE UN VEHICULO");
  438.         System.out.println("5. REGRESAR AL MENU PRINCIPAL");
  439.         System.out.println("6. SALIR");
  440.  
  441.     }
  442.  
  443.     //Funcion para opciones en el menu parqueos
  444.     public static void menuParqueos() {
  445.         System.out.println("\tPARQUEOS\n");
  446.         System.out.println("1. ASIGNAR PARQUEO");
  447.         System.out.println("2. BUSCAR PARQUEO");
  448.         //System.out.println("3. ");
  449.         //System.out.println("4. ");
  450.         System.out.println("5. REGRESAR AL MENU PRINCIPAL");
  451.         System.out.println("6. SALIR");
  452.  
  453.     }
  454.  
  455.     //Funcion para opciones en el menu pagos
  456.     public static void menuPagos() {
  457.         System.out.println("\tPAGOS\n");
  458.         System.out.println("1. REGISTRAR PAGO");
  459.         System.out.println("2. BUSCAR PAGO");
  460.         System.out.println("3. MOSTRAR PAGOS");
  461.         //System.out.println("4. ");
  462.         System.out.println("5. REGRESAR AL MENU PRINCIPAL");
  463.         System.out.println("6. SALIR");
  464.  
  465.     }
  466.  
  467.     public static boolean validarCui(String cui) {
  468.         int contadorDigitos = 0;
  469.         boolean cuiValido = false;
  470.         String ultimosCuatroDigitos;
  471.         //Validamos que el CUI tenga 13 caracteres para que sea correcto
  472.         if (cui.length() == 13) {
  473.             for (int i = 0; i < cui.length(); i++) {
  474.                 //Validamos que el primer caracter no sea cero
  475.                 if (i == 0) {
  476.                     switch (cui.charAt(i)) {
  477.                         case '1':
  478.                         case '2':
  479.                         case '3':
  480.                         case '4':
  481.                         case '5':
  482.                         case '6':
  483.                         case '7':
  484.                         case '8':
  485.                         case '9':
  486.                             contadorDigitos++;//Si son todos numeros 1-9 se aumenta el contador
  487.                             break;
  488.                     }
  489.                 }
  490.                 //Validamos que los digitos de las posiciones 1-12 sean todos digitos
  491.                 switch (i) {
  492.                     case 1:
  493.                     case 2:
  494.                     case 3:
  495.                     case 4:
  496.                     case 5:
  497.                     case 6:
  498.                     case 7:
  499.                     case 8:
  500.                     case 9:
  501.                     case 10:
  502.                     case 11:
  503.                     case 12:
  504.                         switch (cui.charAt(i)) {
  505.                             case '0':
  506.                             case '1':
  507.                             case '2':
  508.                             case '3':
  509.                             case '4':
  510.                             case '5':
  511.                             case '6':
  512.                             case '7':
  513.                             case '8':
  514.                             case '9':
  515.                                 contadorDigitos++;//Si son todos digitos 0-9 se aumenta el contador
  516.                                 break;
  517.                         }
  518.                 }
  519.             }
  520.         } else {
  521.             System.out.println("Ingrese un cui correcto");
  522.         }
  523.         ultimosCuatroDigitos = cui.substring(9);
  524.         if (contadorDigitos == cui.length()) {//Validamos que el tamaño del contador sea igual que el cui
  525.             if (!buscarEnArchivo(ultimosCuatroDigitos)) {//Se llama la funcion buscarEnArchivo para validar que los ultimos cuatro digitos se encuentren en el archivo
  526.                 cuiValido = false; //Se cambia a false cuando los ultimos 4 digitos no existen en el archivo
  527.             } else {
  528.                 cuiValido = true;//Si encuentra los cuatro digitos se cabia a true
  529.             }
  530.         }
  531.  
  532.         return cuiValido;
  533.     }
  534.  
  535.     public static boolean buscarEnArchivo(String ultimosCuatroDigitos) {
  536.         //String archivo = "DepartamentosMunicipios.txt";//Variable con el nombre del archivo donde se encuentran los codigos
  537.         boolean codigoEncontrado = false;
  538.         //Abrimos el archivo para lectura
  539.         try {
  540.             BufferedReader br = new BufferedReader(new FileReader("DepartamentosMunicipios.txt"));
  541.             String linea;
  542.             //Leemos cada linea del archivo para comprobar que los ultimos 4 caracteres del cui existan en el archivo
  543.             while ((linea = br.readLine()) != null) {
  544.                 if (linea.length() >= 4) {//Verifica si la linea tiene por lo menos 4 caracteres y a partir de esto se crea el siguiente substring
  545.                     String codigo = linea.substring(0, 4);//Crea un sub string con los 4 primeros caracteres de la linea
  546.                     if (codigo.equals(ultimosCuatroDigitos)) {//compara si los 4 caracteres de la linea son iguales a los ultimos 4 caracteres del CUI
  547.                         codigoEncontrado = true;
  548.                         break;
  549.                     }
  550.                 }
  551.             }
  552.         } catch (IOException e) {
  553.             System.out.println("No se encontro el archivo");
  554.  
  555.         }
  556.  
  557.         return codigoEncontrado;
  558.     }
  559.  
  560.     public static boolean validarNIT(String nit) {
  561.         // Asegurarse de que el NIT tenga 10 caracteres
  562.         if (nit.length() >= 2 && nit.length() <= 13) {
  563.             // Realizar validación adicional si es necesario
  564.  
  565.         } else {
  566.             return false;
  567.         }
  568.  
  569.         String partes[] = nit.split("-");
  570.  
  571.         String parte1 = partes[0];
  572.         String parte2 = partes[1];
  573.         // Separamos los primeros  dígitos del NIT, y el dígito verificador es el último
  574.         // String primerosocho = nit.substring(0, 8);
  575.         String digitoVerificador = parte2;
  576.  
  577.         int factor = parte1.length() + 1;
  578.         int valor = 0;
  579.         //10482781-5
  580.         //8+1=9 AQUI EMPIEZA EL FACTOR
  581.         //9*1=9 8*0=0 4*7=28 Y ASI SUSECIMAMENTE CON EL RESTO DE NUMEROS DEL NIT SIN INCLUIR EL DIGITO VERIFICADOR
  582.         for (int i = 0; i < parte1.length(); i++) {
  583.             // Convertimos carácter por carácter de los primeros 9 y los multiplicamos por el factor
  584.             valor += Character.getNumericValue(parte1.charAt(i)) * factor;
  585.             factor--;
  586.         }
  587.  
  588.         // A VALOR QUE ES EL NUMERO DE LA SUMA DE LAS MULTIPLICACIONES DEL FACTOR POR EL NIT SE LE SACA MOD 11
  589.         //System.out.println("este es el valor" + valor);
  590.         int residuo = valor % 11;
  591.         //System.out.println("aqui eta elresiduio" + residuo);
  592.         int resultado = 11 - residuo;
  593.         //System.out.println("aqui eta resultado" + resultado);
  594.  
  595.         if (resultado >= 10) {
  596.             resultado = 0;
  597.         }
  598.  
  599.         if (Integer.parseInt(digitoVerificador) == resultado) {
  600.             return true;
  601.         }
  602.  
  603.         return false;
  604.     }
  605.  
  606.     //validar fecha del cliente
  607.     public static boolean validarFecha(String fechaNacimiento) {
  608.         boolean validarFecha = false;
  609.         // dd/mm/yyyy
  610.         if (fechaNacimiento.length() == 10) {
  611.             if (fechaNacimiento.charAt(2) == '/' && fechaNacimiento.charAt(5) == '/') {
  612.                 int cuentaLetras = 0;
  613.                 for (int i = 0; i < fechaNacimiento.length(); i++) {
  614.                     switch (fechaNacimiento.charAt(i)) {
  615.                         case '1':
  616.                             cuentaLetras++;
  617.                             break;
  618.                         case '2':
  619.                             cuentaLetras++;
  620.                             break;
  621.                         case '3':
  622.                             cuentaLetras++;
  623.                             break;
  624.                         case '4':
  625.                             cuentaLetras++;
  626.                             break;
  627.                         case '5':
  628.                             cuentaLetras++;
  629.                             break;
  630.                         case '6':
  631.                             cuentaLetras++;
  632.                             break;
  633.                         case '7':
  634.                             cuentaLetras++;
  635.                             break;
  636.                         case '8':
  637.                             cuentaLetras++;
  638.                             break;
  639.                         case '9':
  640.                             cuentaLetras++;
  641.                             break;
  642.                         case '0':
  643.                             cuentaLetras++;
  644.                             break;
  645.                         case '/':
  646.                             cuentaLetras++;
  647.                             break;
  648.                         default:
  649.                             System.out.println("La fecha no es valida");
  650.                     }
  651.                 }
  652.                 if (cuentaLetras == fechaNacimiento.length()) {
  653.                     System.out.println("La fecha es valida");
  654.                     validarFecha = true;
  655.                 }
  656.             }
  657.         }
  658.         return validarFecha;
  659.     }
  660.     //validar numero de telefono
  661.  
  662.     public static boolean validarNumeroTelefono(String NumeroTelefono) {
  663.         boolean validarNumero = false;
  664.         int cuentaNumero = 0;
  665.         for (int i = 0; i < NumeroTelefono.length(); i++) {
  666.             switch (NumeroTelefono.charAt(i)) {
  667.                 case '1':
  668.                     cuentaNumero++;
  669.                     break;
  670.                 case '2':
  671.                     cuentaNumero++;
  672.  
  673.                     break;
  674.                 case '3':
  675.                     cuentaNumero++;
  676.  
  677.                     break;
  678.                 case '4':
  679.                     cuentaNumero++;
  680.  
  681.                     break;
  682.                 case '5':
  683.                     cuentaNumero++;
  684.  
  685.                     break;
  686.                 case '6':
  687.                     cuentaNumero++;
  688.  
  689.                     break;
  690.                 case '7':
  691.                     cuentaNumero++;
  692.  
  693.                     break;
  694.                 case '8':
  695.                     cuentaNumero++;
  696.  
  697.                     break;
  698.                 case '9':
  699.                     cuentaNumero++;
  700.  
  701.                     break;
  702.                 case '0':
  703.                     cuentaNumero++;
  704.  
  705.                     break;
  706.             }
  707.         }
  708.         if (cuentaNumero == NumeroTelefono.length()) {
  709.             validarNumero = true;
  710.         }
  711.         return validarNumero;
  712.     }
  713.  
  714.     private static boolean validarPlaca(String placa) {
  715.         boolean validarPl = false;
  716.         int contador = 0;
  717.         if (placa.length() == 7) {
  718.             for (int i = 0; i < placa.length(); i++) {
  719.                 if (i == 0) {
  720.                     switch (placa.charAt(i)) {
  721.                         case 'P':
  722.                         case 'A':
  723.                         case 'C':
  724.                         case 'M':
  725.                             contador++;
  726.                             break;
  727.                     }
  728.                 }
  729.                 switch (i) {
  730.                     case 1:
  731.                     case 2:
  732.                     case 3:
  733.                         switch (placa.charAt(i)) {
  734.                             case '0':
  735.                             case '1':
  736.                             case '2':
  737.                             case '3':
  738.                             case '4':
  739.                             case '5':
  740.                             case '6':
  741.                             case '7':
  742.                             case '8':
  743.                             case '9':
  744.                                 contador++;
  745.                                 break;
  746.                         }
  747.                     case 4:
  748.                     case 5:
  749.                     case 6:
  750.                         switch (placa.charAt(i)) {
  751.                             //case 'A': case 'E': case 'I': case 'O': case 'U':
  752.                             //case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '0':
  753.                             case 'B':
  754.                             case 'C':
  755.                             case 'D':
  756.                             case 'F':
  757.                             case 'G':
  758.                             case 'H':
  759.                             case 'J':
  760.                             case 'K':
  761.                             case 'L':
  762.                             case 'M':
  763.                             case 'N':
  764.                             case 'P':
  765.                             case 'Q':
  766.                             case 'R':
  767.                             case 'S':
  768.                             case 'T':
  769.                             case 'V':
  770.                             case 'W':
  771.                             case 'X':
  772.                             case 'Y':
  773.                             case 'Z':
  774.                                 contador++;
  775.                                 break;
  776.                         }
  777.                     //default:
  778.                     // contador ++;
  779.                     //break;
  780.                 }
  781.             }
  782.         }
  783.         if (contador == placa.length()) {
  784.             validarPl = true;
  785.         }
  786.         return validarPl;
  787.     }
  788.  
  789.     public static boolean validarModelo(String modelo) {
  790.         boolean vldModelo = false;
  791.         int contadorDigitos = 0;
  792.         if (modelo.length() == 4) {
  793.             for (int i = 0; i < modelo.length(); i++) {
  794.                 switch (i) {
  795.                     case 0:
  796.                     case 1:
  797.                     case 2:
  798.                     case 3:
  799.                         switch (modelo.charAt(i)) {
  800.                             case '0':
  801.                             case '1':
  802.                             case '2':
  803.                             case '3':
  804.                             case '4':
  805.                             case '5':
  806.                             case '6':
  807.                             case '7':
  808.                             case '8':
  809.                             case '9':
  810.                                 contadorDigitos++;
  811.                         }
  812.                 }
  813.             }
  814.         }
  815.         if (modelo.length() == contadorDigitos) {
  816.             vldModelo = true;
  817.         }
  818.         return vldModelo;
  819.     }
  820. }
  821.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement