Como un ejercicio para mi curso de Java en Uni esta mañana, tuve que escribir un pequeño programa para pedirle al usuario que ingrese algunos detalles, y luego imprimirlos de nuevo. Desde entonces terminé de escribirlo, pero me encontré con un problema extraño en el camino.¿Por qué la línea 17 de este programa Java no se está ejecutando?
Ver el código de abajo:
import java.util.Scanner;
public class Scanner_Exercise
{
public static void main (String[] args)
{
Scanner keyboardIn = new Scanner(System.in);
int accountId;
String accountName;
float accountBalance;
System.out.println("Account ID: "); //Line 13
accountId = keyboardIn.nextInt(); //Line 14
System.out.println("Account name: "); //Line 16
accountName = keyboardIn.nextLine(); //Line 17
System.out.println("Account balance: ");
accountBalance = keyboardIn.nextFloat();
}
}
Cuando se ejecuta este programa, la línea 17 (referirse a los comentarios) se omite; Account name:
se imprime, pero el usuario no tiene la oportunidad de ingresar la información, como si esa línea de código estuviera comentada. No se arrojan errores La salida es el siguiente: Identificación
cuenta:
Nombre de la cuenta:
equilibrio cuenta:
Sin embargo, si cambio las líneas 13 y 14 con 16 y 17, como ya sigue, el programa funciona bien, y no se saltan líneas.
System.out.println("Account name: "); //Line 16
accountName = keyboardIn.nextLine(); //Line 17
System.out.println("Account ID: "); //Line 13
accountId = keyboardIn.nextInt(); //Line 14
¿Por qué se omite la línea 17 en el primer caso, pero no en el segundo?
Si de alguna manera es relevante, estoy usando JDK 6 Update 18 y TextPad 5.3.1.
Gracias, eso lo aclara. Debería haberme referido a la documentación en primer lugar. – Auguste
@Auguste usted vive y aprende! +1 por tratar de hacer su tarea y hacer una pregunta razonable! – Kiril