elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con nextLine(), como evitar salto de linea
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con nextLine(), como evitar salto de linea  (Leído 21,481 veces)
razler

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Problema con nextLine(), como evitar salto de linea
« en: 29 Agosto 2011, 03:34 am »

hola  tengo un problema con el scanner, lo que sucede es que cuando deseo leer string con el nextLine() , en consola de salta a la otra instruccion, por ejemplo.

Código
  1. System.out.print("Ingrese el Alumno: ");
  2. System.out.print("Nombre ---> ");
  3. n = in.nextLine();
  4. System.out.print("Nota ---> ");
  5. s = in.nextDouble();
  6. System.out.print("Codigo ---> ");
  7. j = in.nextDouble();

Luego me resulta  en consola de manera

Ingrese el Alumno:
 Nombre ---> Nota --->

Es decir se salta la instrucción de leer el nombre ,y solo lee la nota y realiza la instrucciones que esten debajo.
Como debo hacer para evitar esto empleando el nextLine()?
Agradeceria mucho su ayuda   :)



« Última modificación: 29 Agosto 2011, 18:14 pm por razler » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Problema con nextLine(), como evitar salto de linea
« Respuesta #1 en: 29 Agosto 2011, 10:27 am »

No si es a lo que te refieres, pero quieres evitar que se suban los textos unos encima de otros?

Código
  1. System.out.print("Ingrese el Alumno: ");
  2. System.out.print("Nombre ---> \n");
  3. n = in.nextLine();
  4. System.out.print("Codigo ---> \n");
  5. s = in.nextDouble();
  6. System.out.print("Nota ---> \n");
  7. j = in.nextDouble();

Corrígeme si no era eso, y en cualquier caso explícate un poquito mejor.

Un saludo!


En línea

razler

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Problema con nextLine(), como evitar salto de linea
« Respuesta #2 en: 29 Agosto 2011, 18:24 pm »

Bueno no es debido al salto de linea ,ya que si coloco como me dices seria igual, osea el resultado en consola seria :

Ingrese el Alumno:
 Nombre --->
 Nota --->

 Solo podría leer nota mas no nombre y las demás instrucciones que estén debajo. Este problema ocurre con los strings. En c++ se podria evitar esto empleando el fflush() pero en java no se como se realizaria. Tambien podria evitarlo usando bufferreader , pero en una lectura con nextLine() como podria evitar este inconveniente ?
En línea

RyogiShiki


Desconectado Desconectado

Mensajes: 745


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: Problema con nextLine(), como evitar salto de linea
« Respuesta #3 en: 29 Agosto 2011, 18:43 pm »

Eso se debe a que la posición de lectura está justo después de un salto de linea, lo que te retornara una cadena vacia, así que te sugiero que después de leer cualquier número (int, double, float) agregues la siguiente linea para evitar dicho inconveniente:

Código
  1. in.skip("\n");

Saludos
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Problema con nextLine(), como evitar salto de linea
« Respuesta #4 en: 29 Agosto 2011, 21:31 pm »

Y porqué no haces un BufferedReader y vas leyendo línea a línea, es decir, en la primera línea lees el nombre, en la siguiente línea lees el decimal y lo parseas con Double.parseDouble, después lees el otro y haces lo mismo.

Es decir, sería algo así:

Código
  1. System.out.println("Ingrese Alumno:");
  2. System.out.println("Nombre: ");
  3. n = in.readLine();
  4. System.out.println("Codigo: ");
  5. s = Double.parseDouble(in.readLine());
  6. System.out.println("Nota: ");
  7. j = Double.parseDouble(in.readLine());

Saludos.
En línea

razler

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Problema con nextLine(), como evitar salto de linea
« Respuesta #5 en: 1 Septiembre 2011, 05:22 am »

Gracias gankutsuo , con ese metodo era suficiente aohra peudo leer sin problemas :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
salto de línea en ficheros
Programación Visual Basic
AGRIPI 1 2,209 Último mensaje 25 Mayo 2006, 15:06 pm
por sch3m4
Evitar salto de linea
Programación C/C++
Posyo 1 3,505 Último mensaje 17 Enero 2012, 22:21 pm
por El_Java
evitar salto de linea al crear archivo de texto
Programación Visual Basic
rapbyone 6 4,623 Último mensaje 21 Noviembre 2014, 19:32 pm
por Miseryk
Problema con salto de linea al escribir codigo
Programación Visual Basic
rapbyone 2 2,454 Último mensaje 18 Febrero 2016, 18:46 pm
por fary
Evitar leer el salto de línea cuando leemos cadenas en C
Programación C/C++
etcheverrypablol 6 22,723 Último mensaje 9 Marzo 2016, 01:10 am
por etcheverrypablol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines