Ниже приведен ваш основной код - см. Мой комментарий, который я добавил к нему ...
Для дальнейшего использования будет полезно, если вы включите полученные сообщения об ошибках.Я предполагаю, что код соответствует тому, что вы делаете:
Scanner sc=new Scanner(System.in);
try
{
System.out.println("Enter book name:");
String bookName=sc.nextLine();
System.out.println("Enter book price:");
String bookPrice=sc.nextLine();
System.out.println("Enter author name:");
String authorName=sc.nextLine();
}
/********************
* The variables bookName, bookPrice, authorName cease to exist after the above
* curly brace.
* If you want to access them beyond this point, you must declare them before
* the try { statement.
* Alternatively, move the declaration of your Book prior to the try statement
* and set the properties of the book in the above try block
* e.g. use b.setBookName(sc.nextLine())
* instead of reading it into the String bookName variable.
*************************************************/
catch(Exception e)
{
System.out.println("I/O Exception");
}
book b=new book();
b.setBookName(bookName); //here i am facing error
b.setBookPrice(bookPrice);
b.setAuthorName(authorName);
System.out.println("Book Details");
System.out.println("Book Name"+b.getBookName());
System.out.println("Book Name"+b.getBookPrice());
System.out.println("Book Name"+b.getAuthorName());
}
Ниже приведен один из возможных примеров того, как его переписать:
Scanner sc=new Scanner(System.in);
book b=new book();
try
{
System.out.println("Enter book name:");
b.setBookName(sc.nextLine());
System.out.println("Enter book price:");
b.setBookPrice(sc.nextLine());
System.out.println("Enter author name:");
b.setAuthorName(sc.nextLine());
}
catch(Exception e)
{
System.out.println("I/O Exception");
}
System.out.println("Book Details");
System.out.println("Book Name"+b.getBookName());
System.out.println("Book Name"+b.getBookPrice());
System.out.println("Book Name"+b.getAuthorName());
}