string value is not displaying all though told the computer to display Please help
import java.util.Scanner;
class Author
{
    private String name;
    private String email;
    private char gender;
    public Author (String name, String email, char gender) {
        this.name=name;
        this.setEmail(email);
        this.gender=gender;
    }
    /**
     * @return the name
     */
    public String getName() {
        return name;
    }
    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }
    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }
    /**
     * @return the gender
     */
    public char getGender() {
        return gender;
    }
    @Override
    public String toString() {
        return "Author [name=" + name + ", email=" + email + ", gender=" + gender + "]";
    }
}
class Book
{
    private String Name;
    Author auth;
    private double price;
    private int qty;
    /**
     * @param name
     * @param auth
     * @param price
     */
    public Book(String name, Author auth, double price) {
        super();
        Name = name;
        this.auth = auth;
        this.price = price;
    }
    /**
     * @param name
     * @param auth
     * @param price
     * @param qty
     */
    public Book(String name, Author auth, double price, int qty) {
        super();
        Name = name;
        this.auth = auth;
        this.price = price;
        this.qty = qty;
    }
    public String getName() {
        return Name;
    }
    public Author getAuth() {
        return auth;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public int getQty() {
        return qty;
    }
    public void setQty(int qty) {
        this.qty = qty;
    }
    @Override
    public String toString() {
        return "Book [Name=" + Name + ", auth=" + auth + ", price=" + price + ", qty=" + qty + "]";
    }
}
class Student
{
    private String Name;
    private int roll;
    date issueDate;
    date returnDate;
    /**
     * @param name
     * @param roll
     * @param issueDate``
     * @param returnDate
     */
    public Student(String name, int roll, date issueDate, date returnDate) {
        super();
        Name = name;
        this.roll = roll;
        this.issueDate = issueDate;
        this.returnDate = returnDate;
    }
    public String getName() {
        return Name;
    }
    public int getRoll() {
        return roll;
    }
    public date getIssueDate() {
        return issueDate;
    }
    public date getReturnDate() {
        return returnDate;
    }
    public void setReturnDate(date returnDate) {
        this.returnDate = returnDate;
    }
}
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc=new Scanner(System.in);
        Author ahTeck=null;
        System.out.println("How many Book are there in library ?");
        int n=sc.nextInt();
        Book []ob=new Book[n];
        for(int i=0;i<n;++i)
        {   System.out.println("Author's name");
            String s=sc.nextLine();
            sc.nextLine();
            System.out.println("Author's Email Id");
            String s1=sc.nextLine();
            System.out.println("gender:");
            char c = sc.next(".").charAt(0);
            sc.nextLine();
            System.out.println("Book Name:");
            String b=sc.nextLine();
            System.out.println("Book price:");
            double price=sc.nextInt();
            System.out.println("Book quantity");
            int q=sc.nextInt();
            ob[i]=new Book(b, new Author(s, s1, c),price,q);
            System.out.println(ob[i]);
        }
    }
}
the question is there in https://www.ntu.edu.sg/home/ehchua/programming/java/J3f_OOPExercises.html
Output is coming like
Book [Name=g, auth=Author [name=, email=e, gender=m], price=6.0, qty=6]
the displaying of author name is skipped
 
    