Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.io.*;
- public class ValidarCui {
- public static void main(String[] args) {
- String cui;
- Scanner entrada = new Scanner(System.in);
- do {
- System.out.println("Ingrese el número de CUI");
- cui = entrada.nextLine();
- } while (!validarCui(cui));
- System.out.println("Número de CUI ingresado correctamente");
- }
- //Funcion para validar el tamaño del cui y que todos sean numeros
- public static boolean validarCui(String cui) {
- int contadorDigitos = 0;
- boolean cuiValido = false;
- String ultimosCuatroDigitos;
- //Validamos que el CUI tenga 13 caracteres para que sea correcto
- if (cui.length() == 13) {
- for (int i = 0; i < cui.length(); i++) {
- //Validamos que el primer caracter no sea cero
- if (i == 0) {
- switch (cui.charAt(i)) {
- case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- contadorDigitos++;//Si son todos numeros 1-9 se aumenta el contador
- break;
- }
- }
- //Validamos que los digitos de las posiciones 1-12 sean todos digitos
- switch (i) {
- case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12:
- switch (cui.charAt(i)) {
- case '0':case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- contadorDigitos++;//Si son todos digitos 0-9 se aumenta el contador
- break;
- }
- }
- }
- }
- //Creamos un sub string de los ultimos 4 digitos iniciando en la posicion 9 a la posicion 12
- ultimosCuatroDigitos = cui.substring(9);
- if (contadorDigitos == cui.length()) {//Validamos que el tamaño del contador sea igual que el cui
- if (!buscarEnArchivo(ultimosCuatroDigitos)) {//Se llama la funcion buscarEnArchivo para validar que los ultimos cuatro digitos se encuentren en el archivo
- cuiValido = false; //Se cambia a false cuando los ultimos 4 digitos no existen en el archivo
- } else {
- cuiValido = true;//Si encuentra los cuatro digitos se cabia a true
- }
- }
- return cuiValido;
- }
- //Funcion para validar que los ultimos cuatro digitos existan en el archivo
- public static boolean buscarEnArchivo(String ultimosCuatroDigitos) {
- //String archivo = "DepartamentosMunicipios.txt";//Variable con el nombre del archivo donde se encuentran los codigos
- boolean codigoEncontrado = false;
- //Abrimos el archivo para lectura
- try {
- BufferedReader br = new BufferedReader(new FileReader("DepartamentosMunicipios.txt"));
- String linea;
- //Leemos cada linea del archivo para comprobar que los ultimos 4 caracteres del cui existan en el archivo
- while ((linea = br.readLine()) != null) {
- if (linea.length() >= 4) {//Verifica si la linea tiene por lo menos 4 caracteres y a partir de esto se crea el siguiente substring
- String codigo = linea.substring(0, 4);//Crea un sub string con los 4 primeros caracteres de la linea
- if (codigo.equals(ultimosCuatroDigitos)) {//compara si los 4 caracteres de la linea son iguales a los ultimos 4 caracteres del CUI
- codigoEncontrado = true;
- break;
- }
- }
- }
- } catch (IOException e) {
- System.out.println("No se encontro el archivo");
- }
- return codigoEncontrado;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement