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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problema con system.out
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con system.out  (Leído 1,859 veces)
shadows789

Desconectado Desconectado

Mensajes: 4


Ver Perfil
problema con system.out
« en: 20 Abril 2014, 04:05 am »

hola chicos estoy aprendiendo java para extender mis conocimientos en programacion :P . Lo que sucede es que estoy practicando con un libro que consegui y en un entrada.nextLine(); no lo lee. este es el codigo:

import java.util.Scanner;
public class pruebaempleado {
   public static void main(String args[]){
      Scanner entrada=new Scanner(System.in);
      double sueldo;
      String nombre,apellido;
      System.out.print("Escribe el nombre de empleado1:");nombre=entrada.nextLine();
      System.out.print("Escribe el apellido de empleado1:");apellido=entrada.nextLine();
      System.out.print("Escribe su sueldo:");sueldo=entrada.nextDouble();
      empleado empleado1=new empleado(nombre,apellido,sueldo);

      System.out.print("Escribe el nombre de empleado2:");nombre=entrada.nextLine();<-salta esta entrada
      System.out.print("Escribe el apellido de empleado2:");apellido=entrada.nextLine();
      System.out.print("Escribe su sueldo:");sueldo=entrada.nextDouble();
      empleado empleado2=new empleado(nombre,apellido,sueldo);
Alguien que sepa el problema y que me pueda aconsejar , soy demasiado nuevo en java.
Muchas gracias !


En línea

gordo23

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: problema con system.out
« Respuesta #1 en: 20 Abril 2014, 04:55 am »

El problema es que cuando usas la función nextXXX de la clase Scanner, siendo XXX = Int/Double/etc, esta lo único que lee es el siguiente número pero no te lee el salto de linea ("\n") que se ingresa cuando apretas la tecla Enter. Por lo que el próximo nextLine lee ese salto de linea.

Para solucionar esto podés hacerlo de 2 maneras, una es leer TODAS las entradas con nextLine() y cuando tengas que leer un número usar la función:

sueldo =  Integer.valueOf(entrada.nextLine()); si es que se trata de leer un entero.

La otra es que después de leer un entero con:
sueldo =  entrada.nextInt();

escribir una sentencia abajo:
entrada.nextLine();    para que lea el salto de linea y ahora si puedas usar el próximo nextLine() de manera correcta.


Bueno, eso seria todo, si no entendiste avisa e intento explicarlo de otra forma.

Saludos.-


En línea

shadows789

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: problema con system.out
« Respuesta #2 en: 20 Abril 2014, 15:45 pm »

entendi de una, ya lo solucione , gracias por la respuesta :D
En línea

gordo23

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: problema con system.out
« Respuesta #3 en: 20 Abril 2014, 20:49 pm »

Buenísimo, de nada.

Saludos.-
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Solucionado en parte mi problema con fit gedo system
Programación Visual Basic
makinen00 0 3,258 Último mensaje 4 Marzo 2008, 13:21 pm
por makinen00
Problema permisos con System.Diagnostics.Process
.NET (C#, VB.NET, ASP)
jonRM 2 3,021 Último mensaje 12 Marzo 2012, 20:38 pm
por BlackZeroX
Problema con el Wi-Fi y Privatix Live-System
Redes
biche 0 1,391 Último mensaje 27 Julio 2012, 18:56 pm
por biche
problema con windows root/system 32/ntoskrnl.exe.
Windows
rubenpajarito 1 2,329 Último mensaje 28 Enero 2013, 18:52 pm
por OLM
Problema con Windows System Image Manager
Windows
Eleкtro 1 2,359 Último mensaje 25 Mayo 2013, 18:11 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines