Как добавить объект в массив с помощью сканера? - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть arraylist, и моя цель - продолжать добавлять объект к arraylist, пока пользователь не введет значение. У меня есть два разных класса. Я пытался использовать сканер, но это только меняет имя переменной и не создает новый объект. Должен ли я унаследовать от другого класса. Как бы я продолжил увеличивать размер массива? Любая помощь приветствуется.

Ниже мой первый класс:

public class Real_Entertainment 
{
    String BookName; 
    String Author; 
    double Rating; 
    int Purchases;

    public Real_Entertainment(String BookName, String Author, double Rating, int Purchases, int i)
    {
        this.BookName = BookName;
        this.Author = Author;
        this.Rating = Rating;
        this.Purchases = Purchases;
    }
    public void setBookName(String BookName)
    {
        this.BookName = BookName;
    }
    public void setAuthor (String Author )
    {
        this.Author = Author;
    }
    public void setRating (double Rating)
    {
        this.Rating = Rating;
    }
    public void setPurchased (int Purchases)
    {
        this.Purchases = Purchases;
    }

}

Ниже мой основной класс:

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

public class Real_Main 
{
    public static void main(String[] args) 
    {
        ArrayList<Real_Entertainment> print = new ArrayList<Real_Entertainment>();
        Real_Entertainment Book1 = new Real_Entertainment("The Nickel Boys ", "Colson 
        Whitehead", 4.3, 500,000);
        Real_Entertainment Book2 = new Real_Entertainment("Olive, Again", "Elizabeth Strout", 6, 
        321,000);
        Real_Entertainment Book3 = new Real_Entertainment("Gingerbread", "Helen Oyeyemi", 2, 
        681,000);
        Real_Entertainment Book4 = new Real_Entertainment ("On Earth We're Briefly Gorgeous", 
        "Ocean Vuong", 2, 421,000);

        print.add(Book1);
        print.add(Book2);
        print.add(Book3);
        print.add(Book4);
    }

    public void addToList(ArrayList<Real_Entertainment> print)
    { 

         //The method where it adds to the arraylist    
    }

}

1 Ответ

1 голос
/ 28 февраля 2020

То, что вы хотите сделать, концептуально, это захват во входных данных от пользователя (например, название книги), затем использовать эти данные для создания экземпляра нового экземпляра Real_Entertainment (если это все, что вам нужно), а затем добавить новый экземпляр в вашем существующем списке. Например:

Scanner scanner = new Scanner(System.in);
System.out.print("What is your book's title? ");
String title = scanner.next();
Real_Entertainment realEntertainment = new Real_Entertainment(title, null, 0, 0, 0);
print.add(realEntertainment);
...