Я пытался заполнить ArrayList
из Ingredients
, которые являются объектами, в которых хранятся имя ингредиента (строка), цена (двойная), количество калорий (целое), и если ингредиент вегетарианский (булев).Использование сканера для заполнения ArrayList объектов
Поскольку будет множество ингредиентов, я думал, что должен использовать ArrayList
. Как заполнить объект ингредиента данными из сканера? Это то, что я до сих пор:
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int numberOfIngredients = s.nextInt();
List<Ingredient> ingredientArrayList = new ArrayList<Ingredient>();
for (int i = 0; i< numberOfIngredients; i++){
String ingredientName = s.next();
double pricePerOunce = s.nextDouble();
boolean isVegetarian = s.nextBoolean();
int numberOfCalories = s.nextInt();
ingredientArrayList.add(ingredientName, pricePerOunce, numberOfCalories, isVegetarian);
}// ends for loop to fill the ingredientArray
}
Какие проблемы вы имея с кодом вы написали? Кроме того, мы, вероятно, должны увидеть, по крайней мере, конструктор вашего класса «Ингредиент», чтобы ответить на этот вопрос. – nhouser9
У вас есть список объектов Ingredient, поэтому вы просто создаете и добавляете новый объект Ingredient. – NAMS
Чтобы увеличить скорость вставки в ваш 'ArrayList', передайте количество ингредиентов в конструктор [' ArrayList'] (https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList .html # ArrayList-int-). 'new ArrayList <> (numberOfIngredients)' – 4castle