0
else if(input==5){
    String artist = "Bob";
    System.out.print("Artist: ");
    artist = keyboard.nextLine();
    Playlist artistList = defaultPlaylist.getSongsByArtist(artist);
    artistList.printAllSongs();
}

当我运行它时,它完全跳过 [artist = keyboard.nextLine();]

键盘是扫描仪对象的一个​​实例。

编辑 - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------- ------------------------------------- “跳过”是指完全忽略。当我运行它时,它不要求用户输入。

4

1 回答 1

2

该语句很可能是从不使用这些字符的方法传递的换行符,例如nextInt. 因此,该nextLine语句不会阻塞输入。尝试在此语句之前使用这些字符

keyboard.nextLine(); // add this
artist = keyboard.nextLine();

如果有多个if语句块,那么最好在nextLine语句之前添加新if语句(以避免多个这些newLine语句)

int input = keyboard.nextInt();
keyboard.nextLine(); 
于 2013-09-08T22:24:32.970 回答