Objetos Java Matriz: Cómo imprimir sólo los primeros elementos de los objetos?

Sr. Ingeniero:

Estoy intentando crear un programa que toma los nombres de libros, número de páginas, y el año de publicación como la entrada del usuario. Cuando el usuario hace no ingresa nada al campo de nombre, el programa de usuario debe pedir lo que se imprimirá: sólo los nombres de los libros o toda la información dada por el usuario. Aquí está mi código principal:

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        int index = 0;
        Scanner reader = new Scanner(System.in);
        ArrayList<Books> book = new ArrayList<>();
        while (true) {
            System.out.println("Name of the book: ");
            String name = reader.nextLine();
            if (name.isEmpty()) {
                break;
            }
            System.out.println("Number of pages: ");
            int pages = Integer.parseInt(reader.nextLine());
            System.out.println("Year: ");
            int year = Integer.parseInt(reader.nextLine());
            book.add(new Books(name,pages,year));
        }
        while (true) {
            System.out.println("What do you want to print?");
            String whatwillbeprinted = reader.nextLine();
            if (whatwillbeprinted.equals("everything")) {
                while(index < book.size()) {
                    System.out.println(book.get(index));
                    index++;
                }
            }
            if (whatwillbeprinted.equals("names")) {
                while(index < book.size()) {
                    // print only names of the books
                }
            }
        }
        }
    }

Y aquí está mi clase llamada Java Libros:

public class Books {
    private String name;
    private int pages;
    private int year;

    public Books(String name, int pages, int year) {
        this.name = name;
        this.pages = pages;
        this.year = year;
    }
    @Override
    public String toString() {
        return this.name + ", " + this.pages + ", " + this.year;
    }
}

Todo funciona correctamente hasta que pasado mientras-comunicado. ¿Cómo puedo imprimir sólo los primeros elementos de mis objetos (nombres de los libros)? Gracias por adelantado.

destructor:
  public class Books {
    private String name;
    private int pages;
    private int year;

    public Books(String name, int pages, int year) {
        this.name = name;
        this.pages = pages;`
        this.year = year;
    }
    @Override
    public String toString() {
        return this.name + ", " + this.pages + ", " + this.year;
    }

    public String getName(){
        return name;
    }
 }

Entonces llamando book.getName () se puede obtener el nombre del libro, ahora acaba de escribir un bucle en el que aparezca el nombre de cada libro

PS confusión sobre el nombre de la clase: El nombre de Libros es incorrecto ya que la información acerca de las tiendas de clase solo libro. Libro - título correcto

Libro Código Título:

for(int i = 0;i<book.lenght;i++)
{
   System.out.println("Name of book: " + book[i].getName());
} 

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=345089&siteId=1
Recomendado
Clasificación