Cita:
Iniciado por dexter00x 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;
}