Tratar la tecla enter como inválida en la validación del escáner

Tengo este código ...

import java.util.*;

public class SwitchExample {

    public static void main(String[] args) {
        System.out.print("Enter ID: ");
        Scanner scanner = new Scanner(System.in);
        while (!scanner.hasNextInt()) {
            System.out.print("Invalid. Enter again: ");
            scanner.next();
        }

        int number = scanner.nextInt();

        System.out.println("Your number was: " + number);
        System.out.println("Test message got printed!");
    }

}

Escribir una entrada válida está bien, y al escribir un carácter no válido, aún funciona según sea necesario. Sin embargo, al escribir una tecla Intro, en cualquier caso, no se genera un error. Por favor, ayuda sobre cómo puedo lograr eso. He intentado múltiples formas pero ninguna ha funcionado.

Respuesta 1

Bueno, solo estás escaneando enteros, intenta alto para escanear "Next Line"

while(scanner.hasNextLine()) 

eso atrapará si presionas enter, supongo que sí.

Respuesta: 2

Tengo una JTable dentro de un JPanel. El número máximo de filas en la tabla es 10. Según las filas de la tabla, necesito cambiar el tamaño del JPanel. No debería obtener ningún scrollPane. Entonces, para ser simple: basado en la tabla ...

Estoy tratando de reemplazar todos los \ caracteres a \\ por java. Esta puede ser una pregunta tonta, pero he intentado muchas cosas. Mi intento está a continuación: String strToReplace = oldString; strToReplace = ...

Tengo este método de fábrica estático: public static CacheEvent getCacheEvent (Category category) {switch (category) {case Category1: return new Category1Event (); ...

Apache Wicket, Hibernate Criteria API y otras bibliotecas de Java utilizan nombres de propiedad como cadenas para acceder a los datos del modelo. Por ejemplo: nuevo PropertyModel (dirección, "calle"); Esto define un modelo que ...