import java.util.Scanner;
public class BookRentalSystem {
    public static void main(String args[]) {

        //Declaration of variable and instances
        String bTitle, bType, bAuthor, bISBN, bStatus, search;
        int choice = 1;
        int bCount = 0;
        boolean found;
        Scanner input = new Scanner(System.in);
        Book[] books = new Book[5];

        //Executing user's selection from menu. Exit on 0
        while ( choice != 0){

            //Menu interface
            System.out.println( "============= M e n u =============" );
            System.out.println( "1. Add a new book" );
            System.out.println( "2. Book loan" );
            System.out.println( "3. Book return ");
            System.out.println( "4. Search book" );
            System.out.println( "0. EXIT");
            System.out.print( "Enter selection: ");
            choice = input.nextInt();

            switch (choice) {
            //Add new book
            case 1:
                System.out.print("Enter book title : ");
                bTitle = input.nextLine();

                System.out.print("Enter book type ( NA / A) : ");
                bType = input.nextLine();

                System.out.print("Enter book author : ");
                bAuthor = input.nextLine();

                System.out.print("Enter book ISBN : ");
                bISBN = input.nextLine();

                bStatus = "Available";
                System.out.println("Book added in the system..");

                books[bCount] = new Book(bTitle,bType,bAuthor,bISBN,bStatus);
                books[bCount].getDetail();
                bCount ++;
                break;

            //Error msg
            default :
                    System.out.println("Invalid selection");
            }
        }
    }
}

My problem is when after I input an int in 'choice', when I want to enter a string with space in bTitle say "Purpose Driven Life", the input skips and goes on the next input instead.
When I use input.next(); there's no problem. Only when I tried to use nextLine(), is there anyway to resolve this? I'll want the input to be able to assign a string with space

Edited 3 Years Ago by Dani: Formatting fixed

This question has already been answered. Start a new discussion instead.