Java пропускает scan.nextline() ?
Привет всем!
Java не читает scan.nextLine() после меню библиотеки. Я не мог понять, почему это происходит. Я был бы признателен за любую помощь :)
package main; import java.util.*; import classes.*; import java.util.Scanner; public class LibraryTest { public static void main( String[] args) { //variables String input; LibraryBook book; Library library; Scanner scan = new Scanner( System.in); LibraryBook b1; LibraryBook b2; LibraryBook b3; LibraryBook b4; String title; int control; //initializations book = null; library = new Library(); b1 = null; b2 = null; b3 = null; b4 = null; title = ""; control = 0; library.add( "My Diary 1","Pınar Yücel"); library.add( "My Diary 2","Pınar Yücel"); library.add( "My Diary 3","Pınar Yücel"); library.add( "My Diary 4","Pınar Yücel"); do // do until user enters Exit. { System.out.println("*************"); System.out.println("LIBRARY MENU"); System.out.println("Show"); System.out.println("Find"); System.out.println("Add"); System.out.println("Exit"); System.out.println("*************"); input = scan.nextLine(); if ( input.equals( "Show")) { System.out.println( library.toString()); } if ( input.equals( "Add")) { System.out.println( "Please enter the title and the author of the book that you want to add"); library.add( scan.next(), scan.next()); } if ( input.equals( "Find")) { System.out.println( "Please enter the title of the book that you want to find."); title = scan.nextLine(); book = library.findByTitle( title); if ( book != null) { System.out.println( "Book selected"); control = 1; } else { System.out.println( "There is no such book!"); } while ( control == 1) { System.out.println("*************"); System.out.println("BOOK MENU"); System.out.println("Loan it"); System.out.println("Return it"); System.out.println("Remove it"); System.out.println("Exit to main menu"); System.out.println("*************"); input = scan.nextLine(); if ( input.equals( "Loan it")) { System.out.println( "Enter the due date"); book.loanBook( scan.next()); } if ( input.equals( "Exit to main menu")) { control = 0; } if ( input.equals( "Remove it")) { library.remove ( book); } if ( input.equals( "Return it")) { book.returnBook(); } } } }while ( !input.equals( "Exit")); } }
Что я уже пробовал:
Я попытался заменить Scan.nextLine() на scan.next()
Richard MacCutchan
Я только что попробовал его, и он отлично работает. Вам нужно предоставить более подробную информацию.
Member 14048022
Привет,
Прежде всего, спасибо, что проверили мой код. Проблема в том, что когда я набираю "добавить" и ввожу название и автора, меню библиотеки появляется дважды.