bucle infinito en .hasNext ()

Gabriel Colón :

Estoy tratando de leer un archivo y extraer el número más grande. Quiero leer el archivo hasta el final, pero hasNext () sigue dando mi verdad. Cuando intenté cambiar esto a hasNextInt (), nunca entró incluso cuando mis personajes donde enteros. ¿Cómo puedo salir del bucle y leer mis números enteros correctamente? Ayuda sería muy apreciada.

int maxScore=0;
        int score = 0;
        Scanner scan = new Scanner("PacManHighScore");
        while(scan.hasNext()) {
            if(scan.hasNextInt()) {
                score = scan.nextInt();
            }
            System.out.println(score);
            if(score > maxScore) {
                maxScore = score;
            }
        }
        scan.close();

Anubv:

Se han olvidado de omitir valor no int por lo que están atrapados en un bucle infinito.

Probar el código de abajo.

int maxScore=0;
int score = 0;
Scanner scan = new Scanner("PacManHighScore");
while(scan.hasNext()) {
    if(scan.hasNextInt()) {
        score = scan.nextInt();
    }else{
        scan.next();
    }
    System.out.println(score);
    if(score > maxScore) {
        maxScore = score;
    }
}
scan.close();

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=296684&siteId=1
Recomendado
Clasificación