Foros del Web » Programación para mayores de 30 ;) » Java »

Codigo para descomponer un string en 5 partes

Estas en el tema de Codigo para descomponer un string en 5 partes en el foro de Java en Foros del Web. Hola a todos Necesito Ayuda Tengo el siguiente codigo Cita: String sd1 = ""; String sd2 = ""; String sd3 = ""; String sd4 = ...
  #1 (permalink)  
Antiguo 15/05/2008, 23:34
Avatar de fbirrer  
Fecha de Ingreso: enero-2006
Ubicación: Santiago de Chile
Mensajes: 329
Antigüedad: 18 años, 3 meses
Puntos: 0
Codigo para descomponer un string en 5 partes

Hola a todos
Necesito Ayuda

Tengo el siguiente codigo

Cita:
String sd1 = "";
String sd2 = "";
String sd3 = "";
String sd4 = "";
String sd5 = "";

//descomponer detalle

int largo = sDetalle.length();

if(largo <=200)
{
sd1 = sDetalle;
}else{
if (largo<=400)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,sDetalle.length());
}else{
if (largo<=600)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,400);
sd3 = sDetalle.substring(400,sDetalle.length());
}else{
if (largo<=600)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,400);
sd3 = sDetalle.substring(400,600);
sd4 = sDetalle.substring(600,sDetalle.length());
}else{
if (largo<=1000)
{
sd1 = sDetalle.substring(0,200);
sd2 = sDetalle.substring(200,400);
sd3 = sDetalle.substring(400,600);
sd4 = sDetalle.substring(600,800);
sd5 = sDetalle.substring(800,sDetalle.length());
}
}
}

}
}
EL cual me permite descomponer un texto (sDetalle) de largo 1000 en 5 variables, cada una de 200 de largo.
COnsulta, ¿Alguien me puede ayudar a mejorar el codigo?
¿Alguien tiene una idea?

Gracias
__________________
Desde Santiago de Chile
Grupo Universite
Información sobre los Institutos Chilenos de Educación
www.universite.cl
  #2 (permalink)  
Antiguo 16/05/2008, 01:47
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Codigo para descomponer un string en 5 partes

No es que sea nada del otro mundo, pero alguna que otra comparacion y asignacion repetida la puedes evitar. Sacando las constantes fuera es mas facil de mantener etc. Tampoco hay mucho que sacar en un codigo tan pequeño. Mas que nada es cuestion de legibilidad y mantenibilidad.
S!

Código PHP:
    String sDetalle "0123456789abcdefgh1j0123456789abcdefgh1j01234";
    
int longitud sDetalle.length();
    
String parte1 null;
    
int limite1 10;
    
String parte2 null;
    
int limite2 20;
    
String parte3 null;
    
int limite3 30;
    
String parte4 null;
    
int limite4 40;
    
String parte5 null;

    
parte1 sDetalle.substring(0Math.min(longitudlimite1));
    if (
longitud >= limite1)
    {
      
parte2 sDetalle.substring(limite1Math.min(longitudlimite2));
      if (
longitud >= limite2)
      {
        
parte3 sDetalle.substring(limite2Math.min(longitudlimite3));
        if (
longitud >= limite3)
        {
          
parte4 sDetalle.substring(limite3Math.min(longitudlimite4));
          if (
longitud >= limite4)
          {
            
parte5 sDetalle.substring(limite4);
          }
        }
      }
    }
    
System.err.println("parte1: " parte1);
    
System.err.println("parte2: " parte2);
    
System.err.println("parte3: " parte3);
    
System.err.println("parte4: " parte4);
    
System.err.println("parte5: " parte5); 
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 16/05/2008, 03:17
Avatar de fbirrer  
Fecha de Ingreso: enero-2006
Ubicación: Santiago de Chile
Mensajes: 329
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Codigo para descomponer un string en 5 partes

Cita:
Iniciado por GreenEyed Ver Mensaje
No es que sea nada del otro mundo, pero alguna que otra comparacion y asignacion repetida la puedes evitar. Sacando las constantes fuera es mas facil de mantener etc. Tampoco hay mucho que sacar en un codigo tan pequeño. Mas que nada es cuestion de legibilidad y mantenibilidad.
S!

Código PHP:
    String sDetalle "0123456789abcdefgh1j0123456789abcdefgh1j01234";
    
int longitud sDetalle.length();
    
String parte1 null;
    
int limite1 10;
    
String parte2 null;
    
int limite2 20;
    
String parte3 null;
    
int limite3 30;
    
String parte4 null;
    
int limite4 40;
    
String parte5 null;

    
parte1 sDetalle.substring(0Math.min(longitudlimite1));
    if (
longitud >= limite1)
    {
      
parte2 sDetalle.substring(limite1Math.min(longitudlimite2));
      if (
longitud >= limite2)
      {
        
parte3 sDetalle.substring(limite2Math.min(longitudlimite3));
        if (
longitud >= limite3)
        {
          
parte4 sDetalle.substring(limite3Math.min(longitudlimite4));
          if (
longitud >= limite4)
          {
            
parte5 sDetalle.substring(limite4);
          }
        }
      }
    }
    
System.err.println("parte1: " parte1);
    
System.err.println("parte2: " parte2);
    
System.err.println("parte3: " parte3);
    
System.err.println("parte4: " parte4);
    
System.err.println("parte5: " parte5); 
gracias!
__________________
Desde Santiago de Chile
Grupo Universite
Información sobre los Institutos Chilenos de Educación
www.universite.cl
  #4 (permalink)  
Antiguo 11/08/2008, 08:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 45
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Codigo para descomponer un string en 5 partes

Hola, que tal este código, te sirve para descomponer una cadena en n cadenas de m longitud y guarda los resultados en un arreglo.

Código PHP:
function descomponer_cadena($cadena$maximo){
     
$retorno = array(); //no me acuerdo si era Array() o array()
     
while(strlen($cadena)>$maximo){
          
$retorno[]=substr($cadena,0,$maximo);
          
$cadena substr($cadena,$maximo);
     }
     
$retorno[]=$cadena;
     return 
$retorno;

Y la podés llamar en tu caso así

Código PHP:
$partes=descomponer_cadena($sDetalle,200); 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:47.