Txerrinko

Directorio

Mar 18th, 2012
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.67 KB | None | 0 0
  1. package Ejercicio7;
  2.  
  3. public class Directorio {
  4.  
  5.      private String nombre;
  6.      private float tamanio;
  7.    
  8.     static final int MAXCAR=40;
  9.    
  10.         Directorio(String pNombre,float pTamanio)
  11.         {
  12.             nombre = pNombre;
  13.             tamanio = pTamanio;
  14.         }
  15.    
  16.         public String toString()
  17.         {
  18.            
  19.             return nombre + "" + tamanio;
  20.         }
  21.        
  22.        
  23.         public void ver(){}
  24.        
  25.        
  26.        
  27.         public int niveles(String d1)
  28.         {
  29.             int contbarras = 1;
  30.             for(int i = 0 ; i < nombre.length() ; i ++){
  31.                
  32.                 if(nombre.charAt(i)=='/')
  33.                 {
  34.                     contbarras++;
  35.                 }
  36.                
  37.                
  38.             }
  39.            
  40.             return contbarras;
  41.            
  42.            
  43.            
  44.            
  45.         }
  46.    
  47.         public String ultimo()
  48.         {  
  49.             int i = nombre.length()-1;
  50.             int c = 0;
  51.                 while( i >= 0 && c ==0 )
  52.                 {
  53.                     if(nombre.charAt(i)=='/')
  54.                         c++;
  55.                     else
  56.                         i--;
  57.                    
  58.                 }
  59.        
  60.                 return nombre.substring(i+1,nombre.length());
  61.         }
  62.    
  63.    
  64.         private boolean carIlegales()
  65.         {  
  66.             String cadctrl = "@*#";
  67.             int c = 0;
  68.             for(int i = 0 ; i < nombre.length() ; i ++)
  69.             {
  70.                 if( cadctrl.indexOf( nombre.substring(i,i+1)) >= 0  )
  71.                         {
  72.                          c++;
  73.                         }
  74.             }
  75.             return c > 0;
  76.         }
  77.        
  78.         public String dirValido()
  79.         {  
  80.             String cadena="";
  81.             int cont=0;
  82.             if(nombre.length()>=MAXCAR)
  83.             {
  84.                  cadena+="Error cadena con mas de 40 caracteres. ";
  85.                  cont++;
  86.             }
  87.            
  88.            
  89.             if(carIlegales()==true)
  90.             {
  91.                  cadena+="Error contiene caracteres ilegales. ";
  92.                  cont+=cont++;
  93.                  
  94.             }
  95.            
  96.             if(nombre.indexOf("//")>-1)
  97.             {
  98.                 cadena+="Error contiene doble //. ";
  99.                 cont+=cont++;
  100.             }
  101.             if(nombre.charAt(0)<='A'&& nombre.charAt(0)>='Z'|| nombre.charAt(1)!=':')
  102.             {
  103.                 cadena+= "Error no contiene debido caracter. ";
  104.                 cont+=cont++;
  105.             }
  106.        
  107.             if(cont>0)
  108.             {
  109.                 return cadena;
  110.             }
  111.            
  112.             return "ok";
  113.            
  114.            
  115.         }
  116.         public String compactarDir()
  117.         {
  118.             String compactar="";
  119.             char nueva=' ';
  120.             for(int i = 0 ; i < nombre.length() ; i ++)
  121.             {
  122.                 nueva=nombre.charAt(i);
  123.                 if(nueva!=' ')
  124.                 {
  125.                     compactar=compactar + nueva;
  126.                 }  
  127.                
  128.             }
  129.        
  130.             return compactar.toLowerCase();
  131.            
  132.         }
  133.    
  134.     public static void main(String[] args) {
  135.    
  136.        
  137.         Directorio d1=new Directorio("C/xxx//@fdsdf*ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsd/cdfsfd ", 600);
  138.         Directorio d2=new Directorio(("M:/xxx/fdDDD Dfsd/cdfs fd/kjcew krg/cdsfd "), 9000);
  139.        
  140.         System.out.println("EL primer directorio es " + d1);
  141.         System.out.println("EL segundo directorio es " + d2);
  142.        
  143.         System.out.println("El resultado de la suma es:" + (d2.tamanio=d2.tamanio +d1.tamanio/2));
  144.         System.out.println("El tamaño de d1 en kbytes es: " + (d1.tamanio)/1024);
  145.         System.out.println("El tamaño de d1 en megabytes es: " + (d1.tamanio/1024)/1024);
  146.        
  147.         if(d1.niveles("/")>d2.niveles("/"))
  148.         {
  149.             System.out.println("El d1 tiene mas niveles" +d1.nombre);
  150.         }
  151.         else
  152.             System.out.println("El d2 tiene mas niveles" +d2.nombre);
  153.        
  154.         System.out.println( d1.dirValido());
  155.         System.out.println( d2.dirValido());
  156.        
  157.         if(!d1.ultimo().equalsIgnoreCase(d2.ultimo()))
  158.         {   System.out.println("X" + d1.nombre);
  159.             System.out.println("X" + d2.nombre);
  160.         }
  161.        
  162.         System.out.println("EL primer directorio es " + d1);
  163.         System.out.println("EL segundo directorio es " + d2);
  164.        
  165.        
  166.        
  167.         System.out.println(d2.compactarDir());
  168.         System.out.println(d1.compactarDir());
  169.        
  170.         System.out.println("EL primer directorio es " + d1);
  171.         System.out.println("EL segundo directorio es " + d2);
  172.        
  173.        
  174.         System.out.println( "Los ultimos caracteres son "+d1.ultimo() );
  175.         System.out.println("Hay caracteres ilegales?¿ " +d1.carIlegales());
  176.         System.out.println("Hay caracteres ilegales?¿ " +d2.carIlegales());
  177.        
  178.    
  179.        
  180.        
  181.        
  182.            
  183.     }
  184.  
  185. }
Advertisement
Add Comment
Please, Sign In to add comment