miércoles, 4 de febrero de 2015

Ejercicio 6 Tema 3: Comprobar nif usando arrays

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package ejercicio5;
import java.util.Scanner;
/**
 *
 * @author juan
 */
public class Ejercicio5 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        char [] letras ={'T','R','W','A','G','M','Y','F', 'P', 'D','X','B', 'N', 'J', 'Z', 'S', 'Q','V', 'H', 'L', 'C', 'K','E', };
        String cadena;
        int numDni;
        int resto;
        char letra;
        String numeros;
        int cont =0;
        boolean esNumero;
        
        Scanner leer = new Scanner(System.in);
        
        /*
        System.out.println("Introduzca su dni: ");
        numDni= leer.nextInt();
        resto = numDni%23;
        
        System.out.println(letras[resto]);
        */
        boolean dniCorrecto=false;
        
        System.out.println("Introduzca el nif a comprobar: ");
        cadena = leer.nextLine();
        if (cadena.length()==9)
        {
            
            
            letra = cadena.toUpperCase().charAt(8);
            if (Character.isLetter(letra)){
                numeros= cadena.substring(0,8);
                cont=0;
                esNumero=true;
                while (esNumero && cont<8) {
                    if (Character.isDigit(numeros.charAt(cont)))
                    {
                        ++cont;
                    }
                    else esNumero=false;
                }
                if (esNumero) {
                    numDni = Integer.parseInt(numeros);
                    resto = numDni%23;
                    if (letras[resto]==letra) dniCorrecto=true;
                }
              
            }
            
        }
        if (dniCorrecto) System.out.println("nif correcto");
        else System.out.println("nif incorrecta");
        
        
        
    }
    
}

No hay comentarios: