Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.79 KB | None | 0 0
  1. public void cargarCliente() {
  2.         Scanner tecl=new Scanner(System.in);
  3.             try {
  4.                 do{
  5.                     System.out.println("Dame tu DNI: ");
  6.                     this.DNI=tecl.next();
  7.                 }while(!valida(this.DNI));
  8.             } catch (Exception e) {
  9.                 do{
  10.                     System.out.println("Has introducido mal tu DNI, hazlo de nuevo: ");
  11.                     this.DNI=tecl.next();
  12.                 }while(!valida(this.DNI));
  13.             }
  14.            
  15.            
  16.             System.out.println("Dame tu nombre: ");
  17.             this.nombre=tecl.next();
  18.             System.out.println("Dame tus apellidos: ");
  19.             this.apellidos=tecl.next();
  20.             System.out.println("Dame tu edad: ");
  21.             this.edad=tecl.nextInt();
  22.             System.out.println("Dame tu direccion");
  23.             this.direccion=tecl.next();
  24.             System.out.println("Dame tu email: ");
  25.             this.email=tecl.next();
  26.             System.out.println("Dame tu hora de llegada: ");
  27.             this.hora_llegada=tecl.nextInt();
  28.             System.out.println("Dame los dias de estancia: ");
  29.             this.dias_dist=tecl.nextInt();
  30.     }
  31.    
  32.     public void añadirVehiculo() {
  33.         Scanner tecl=new Scanner(System.in);
  34.         System.out.println("Dime que vehiculo quieres añadir: C/M/F");
  35.         String v=tecl.nextLine();
  36.        
  37.         switch (v) {
  38.        
  39.         case "c":
  40.             Coche c = new Coche();
  41.                 do{
  42.                     System.out.println("Dime la matricula: ");
  43.                     c.setMatricula(tecl.next());
  44.                 }while(!c.valida(c.getMatricula()));
  45.             System.out.println("Dime la marca: ");
  46.             c.setMarca(tecl.next());
  47.             System.out.println("Dime la color: ");
  48.             c.setColor(tecl.next());
  49.             System.out.println("Dime el modelo: ");
  50.             c.setModelo(tecl.next());
  51.             System.out.println("Dime el numero de puertas: ");
  52.             c.setNum_puertas(tecl.nextInt());
  53.                 vehiculo.add(c);
  54.             break;
  55.         case "m":
  56.             Moto m = new Moto();
  57.             System.out.println("Dime la matricula: ");
  58.             m.setMatricula(tecl.next());
  59.             System.out.println("Dime la marca: ");
  60.             m.setMarca(tecl.next());
  61.             System.out.println("Dime la color: ");
  62.             m.setColor(tecl.next());
  63.             System.out.println("Dime el modelo: ");
  64.             m.setModelo(tecl.next());
  65.             System.out.println("Dime el tipo: ");
  66.             m.setTipo(tecl.next());
  67.             System.out.println("Dime la cilindrada: ");
  68.             m.setCilindrada(tecl.nextInt());
  69.             System.out.println("Dime el carne: ");
  70.             m.setCarnet(tecl.next());
  71.             m.setTipo_vehiculo("moto");
  72.             break;
  73.         case "f":
  74.             Furgoneta f = new Furgoneta();
  75.             System.out.println("Dime la matricula: ");
  76.             f.setMatricula(tecl.next());
  77.             System.out.println("Dime la marca: ");
  78.             f.setMarca(tecl.next());
  79.             System.out.println("Dime la color: ");
  80.             f.setColor(tecl.next());
  81.             System.out.println("Dime el modelo: ");
  82.             f.setModelo(tecl.next());
  83.             System.out.println("Dime la capacidad: ");
  84.             f.setcapacidad(tecl.nextInt());
  85.                 vehiculo.add(f);
  86.             break;
  87.         }
  88.     }
  89.    
  90.     @Override
  91.     public String toString() {
  92.         return "Cliente " + " con DNI: " + DNI + ", nombre: " + nombre + ", apellidos: " + apellidos
  93.                 + ", direccion: " + direccion + "\t" + vehiculo.toString();
  94.     }
  95.  
  96.    
  97.     @Override
  98.     public boolean valida(String cadena) {
  99.         // Array con las letras posibles del dni en su posición
  100.           char[] letraDni = {
  101.               'T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D',  'X',  'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E'
  102.           };
  103.          
  104.           String num= "";
  105.           int ind = 0;  
  106.           boolean valido;
  107.  
  108.           if(this.DNI.length() == 8) {
  109.               this.DNI = "0" + this.DNI;
  110.           }
  111.          
  112.           if (!Character.isLetter(this.DNI.charAt(8))) {
  113.                return false;  
  114.           }
  115.          
  116.           if (this.DNI.length() != 9){  
  117.                return false;
  118.           }  
  119.  
  120.           for (int i=0; i<8; i++) {
  121.                if(!Character.isDigit(this.DNI.charAt(i))){
  122.                      return false;    
  123.                }
  124.                num += this.DNI.charAt(i);    
  125.           }
  126.  
  127.           ind = Integer.parseInt(num);
  128.           ind %= 23;
  129.  
  130.           if ((Character.toUpperCase(this.DNI.charAt(8))) != letraDni[ind]){
  131.                return false;
  132.          }
  133.          return true;
  134.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement