2012-04-13 13 views
6

Mi pregunta es ¿qué método debo usar si deseo obtener el número total de caracteres que ingresa un usuario? sin usar arreglos, intenté usar .length() pero no devolvió todos los caracteres dicen del nombre y apellido, solo devolvió el primer nombre.Muestra el número total de caracteres de cadena

Aquí hay un ejemplo de mi código. (Por favor, no risa im realmente nuevo en la programación :))

System.out.print("Enter your first and last name: "); 
String yourName = keyboard.next(); 
System.out.println("Your name has a total of " + yourName.length() + " numbers"); 

lo que ocurrió fue si entro decir "Neo Matrix" que sólo volvería 3.

Agradezco cualquier ayuda. ¡gracias!

+2

¿Es esta tarea, o lo estás haciendo por "diversión"? (Me acuerdo de un proverbio: dale a un hombre un programa, y ​​lo frustras por un día. Enseña a un hombre a programar, y lo frustras de por vida.) – rajah9

+0

Cuál (totalmente calificado, es decir, cómo importaste) está en la parte superior de su archivo) ¿qué tipo de teclado tiene la variable? –

+0

El problema proviene del objeto "teclado". Su "próximo()" método probablemente le da la siguiente palabra de la entrada y no el texto de entrada global. ¿Podría explicarme qué es este objeto? –

Respuesta

9

El método next() solo lee la primera palabra de su nombre. Pruebe nextLine() en su lugar.

+0

Muchas gracias !!!! por alguna razón no lo vi en eclipse cuando ctrl + espacio. puedo haberlo pasado por alto. –

3

Es posible que desee utilizar Scanner.nextLine() para leer una línea completa.

next() tokenizes String de acuerdo con los espacios en blanco, por lo que solo se obtiene la primera palabra, como se esperaba.

Cuestiones relacionadas