Заполните сеттеры, зацикливая arraylist - PullRequest
1 голос
/ 07 ноября 2019

Я делаю проект для колледжа. Одна из главных проблем, которая останавливает почти весь мой прогресс, состоит в том, чтобы заполнить сеттеры содержимым массива. Массив имеет тип объекта. Вот код:

import java.util.ArrayList;
import java.util.List;

public class Whisky {

    private String name;
    private String description;
    private int quantity;


    public Whisky(String nm, String desc, int quant) {
        this.name = nm;
        this.description = desc;
        this.quantity = quant;


        List<Object> WhiskyList = new ArrayList<Object>() ;
        WhiskyList.add("Balvenie");
        WhiskyList.add("triple cask 12.  Matured in the three most traditional types of cask – first-fill bourbon, refill bourbon and sherry");
        WhiskyList.add(10);
        WhiskyList.add("Glenfiddich");
        WhiskyList.add("Reserve Cask. This Whisky has been matured exclusively in Spanish sherry casks");
        WhiskyList.add(10);
        WhiskyList.add("Laphroig");
        WhiskyList.add("Laphroig Four Oak. Matured in four different types of cask: ex-bourbon barrels, small quarter casks, virgin American oak barrels and European oak hogsheads.");
        WhiskyList.add(10);

   }   


    public String getName() {
        return name;
    }

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

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getQuantity() {
        return quantity;
    }

     public void setQuantity(int quantity) {
        this.quantity= quant;
    }
}

Итак, в основном я пытаюсь запустить цикл for, который проходит через arraylist.size (), и для каждого выполняемого им «шага» размещает содержимоев правильный сеттер. Это возможно?

Ответы [ 2 ]

1 голос
/ 07 ноября 2019

Я думаю, вы пытаетесь настроить начальный список экземпляров виски. Есть много способов сделать это. Вот тот, который использует статический список и заполняет его статическим методом (запускается один раз во время загрузки класса.)

public class Whisky {

  public static final List<Whisky> WhiskyList = new ArrayList<Whisky>();

  static {
    WhiskyList.add(new Whisky("Balvenie",
                              "triple cask 12.  Matured in the three most traditional types of cask – first-fill bourbon, refill bourbon and sherry",
                              10));
    WhiskyList.add(new Whisky("Glenfiddich",
                              "Reserve Cask. This Whisky has been matured exclusively in Spanish sherry casks",
                              10));
    WhiskyList.add(new Whisky("Laphroig",
                              "Laphroig Four Oak. Matured in four different types of cask: ex-bourbon barrels, small quarter casks, virgin American oak barrels and European oak hogsheads.",
                              10));
  }

  private String name;
  private String description;
  private int quantity;

  public Whisky(String nm, String desc, int quant) {
    this.name = nm;
    this.description = desc;
    this.quantity = quant;
  }

  // finish with getters and settings
}
0 голосов
/ 07 ноября 2019

Конструктор вашего класса должен только инициализировать поля класса. Скорее всего, переменная WhiskeyList должна идти методом main(). Но прежде чем сделать это, я предлагаю написать main(), который просто создает один Whiskey экземпляр.

...