Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/08/2011, 00:48
Erickvk
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 16 años, 7 meses
Puntos: 8
Respuesta: como covertir un string a int[]

Cita:
Iniciado por dexter00x Ver Mensaje
hola amigos,
quisiera saber como puedo hacer un metodo que reconozca y convierta una serie de numeros en string a valores numericos int,

estoy intentando pero me he trabado en mi codigo


aqui lo copio el metodo que trata de convertir un texto como por ejemplo "14 05 56 778"
a un int[]



public int[] textovector(String texto){
char[] array = texto.toCharArray();
int tam=0;

for(int i=0; i<array.length; i++){
if(array[i]==' '){
tam++;
}
}

tam++;

int[] data = new int[tam];

int ii =0;
int iii =0;
char espacio = ' ';
String temp = "";
while(ii < array.length){

if(array[ii]!=' '){

temp = temp + ""+array[ii];
}

if(array[ii]==' '||array[ii]==array[array.length-1]){
data[iii] = Integer.parseInt(temp);

temp = "";
iii++;

}

ii++;
}
return data;
}
public int[] textovector(String texto){

texto = texto.trim();//eliminar los caracteres blancos que puede haber al principio o al final de texto.
int tam=0;
int longitud = 0;
char espacio = ' ';
if (texto != null)
{
longitud = texto.length();
}
for(int i=0; i<longitud; i++){
if(texto.charAt(i)==espacio){ //aqui se puede comprobar que el caracter es un numero para que al parse int no de un error
tam++;
}
}

tam++;

int[] data = new int[tam];

int indice =0;

String temp = "";
for(int i=0; i<longitud; i++){
char caracter = texto.charAt(i);
if(caracter!=espacio){

temp = temp + caracter;//aqui se puede comprobar que el caracter es un numero para que al parse int no de un error
}

if(caracter ==espacio){
data[indice++] = Integer.parseInt(temp);

temp = "";


}


}
if (!temp.equals(""))
{
data[indice] = Integer.parseInt(temp);
}
return data;
}