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

¿Cómo paso de teclado a string de integers?

Estas en el tema de ¿Cómo paso de teclado a string de integers? en el foro de Java en Foros del Web. Muy buenas genios. Tengo un problema, me mandaron hacer una practica en la que tengo que leer por teclado un string (en teoria son numeros ...
  #1 (permalink)  
Antiguo 02/04/2014, 10:50
 
Fecha de Ingreso: mayo-2008
Mensajes: 37
Antigüedad: 15 años, 11 meses
Puntos: 5
¿Cómo paso de teclado a string de integers?

Muy buenas genios.
Tengo un problema, me mandaron hacer una practica en la que tengo que leer por teclado un string (en teoria son numeros separados por espacios), me dijeron que necesitaba utilizar obligatoriamente el BufferedReader. El problema que tengo es pasar este String "1 22 3 4 56" por ejemplo a un array que contega: 1/22/3/4/56 (la línea indica la posición del array) ya que al haber espacios no se como hacerlo.
Gracias de antemano.
  #2 (permalink)  
Antiguo 02/04/2014, 11:03
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: ¿Cómo paso de teclado a string de integers?

si tienes una cadena, separada por espacios... puedes utilizar el método "split" utilizando de delimitador el espacio en blanco, este método te devolverá un array de strings [1 , 22 , 3 ,4 , 56]

Un saludo.
  #3 (permalink)  
Antiguo 03/04/2014, 07:02
Avatar de ezefarina  
Fecha de Ingreso: junio-2009
Mensajes: 91
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: ¿Cómo paso de teclado a string de integers?

ALBERTO802, una vez hecho lo que rgf1987 propone, tendrias que convertir los valores del array. Podrías hacerlo así:

String[] numberStrs = line.split(" ");
int[] numbers = new int[numberStrs.length];
int i=0;
try {
for(;i<numberStrs.length;i++)
numbers[i] = Integer.parseInt(numberStrs[i].trim());
} catch (NumberFormatException nfe) {
System.out.println("Error: <"+numberStrs[i]+">" is not a valid number);
}

Etiquetas: paso, string, teclado
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 12:12.