Класс должен содержать массив объектов, как правильно составить программу?

Подскажите пожалуйста, как правильно создать класс с массивом объектов?

В дальнейшем мне необходимо будут списком вывести их на консоль.

Задание гласит:

  • Создать класс Товар, имеющий переменные имя, цена, рейтинг.
  • Создать класс Категория, имеющий переменные имя и массив товаров.
  • Создать несколько объектов класса Категория.
  • Создать класс Basket, содержащий массив купленных товаров.
public class Tovar {
    private String name;
    private String price;
    private String rating;

    public Tovar(String name, String price, String rating) {
        this.name = name;
        this.price = price;
        this.rating = rating;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getRating() {
        return rating;
    }

    public void setRating(String rating) {
        this.rating = rating;
    }

     public String toString() {
        return "Tovar" +
                " name='" + name + '\'' +
                ", price='" + price + '\'' +
                ", rating='" + rating + '\'' +
                '.';
    }

}
public class Category{
    String categoryName;
    Tovar [] tovars = new Tovar[3];

    public Category(String categoryName, Tovar[] tovars) {
        this.categoryName = categoryName;
        this.tovars = tovars;
    }

    public Category() {
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public Tovar[] getTovars() {
        return tovars;
    }

    public void setTovars(Tovar[] tovars) {
        this.tovars = tovars;
    }
}

Добавил класс

public class Basket {

    Tovar [] buyTovars = new Tovar[3];

    public Basket(Tovar[] buyTovars) {
        this.buyTovars = buyTovars;
    }

    public Basket() {
    }

    public Tovar[] getBuyTovars() {
        return buyTovars;
    }

    public void setBuyTovars(Tovar[] buyTovars) {
        this.buyTovars = buyTovars;
    }

}
public class MainDemo {

    public static void main(String[] args)  throws IOException {

        Tovar tovar1 = new Tovar("Dress", "153", "8/10");

        Tovar tovar2 = new Tovar("Hat", "53", "7/10");

        Tovar tovar3 = new Tovar("Coat", "180", "9/10");

        Tovar tovar4 = new Tovar("Shirt", "110", "6/10");

        Tovar tovar5 = new Tovar("Pants", "153", "7/10");


        BufferedReader users = new BufferedReader( new InputStreamReader(System.in));
        BufferedReader password = new BufferedReader( new InputStreamReader(System.in));
        BufferedReader basket = new BufferedReader( new InputStreamReader(System.in));
        User user = new User();
        System.out.println("Input Login : ");
        user.setLogin(users.readLine());
        System.out.println("Input Password ");
        user.setPassword(password.readLine());
        System.out.println("Chose Basket");

        Tovar[] tovars = {tovar1,tovar2,tovar3,tovar4,tovar5};
        System.out.println(Arrays.toString(tovars));
    }
}

Ответы (1 шт):

Автор решения: ILYCH

Класс Tovar и Category у вас созданы верно, осталось создать класс Basket. Вывести массив в консоль вы можете использовать встроенный метод Arrays.toString(T[] mas). Однако, если вам потребуется вывести массив элементов Tovar, то в данном классе необходимо переопределить метод toString.

→ Ссылка