Для школьного задания я успешно создал программу, в которой хранятся рецепты (название, ингредиенты, инструкции). Теперь мне нужно добавить функцию списка покупок, которая будет брать ингредиенты из рецептов, которые я добавил, и сохранять их в новом массиве статических строк.
Мне потребовалось создать массив строк ингредиентов размером 20 и список покупок в виде статического массива строк размером 40:
private String[] ingredients = new String[20];
private static String[] shoppingList = new String[40];
Я инициализировал все элементы обоих массивов пустой строкой.
Я также жестко закодировал два рецепта в своей тестовой программе, например:
rcp1.setIngredients(0, "Butter");
rcp1.setIngredients(1, "Garlic");
rcp1.setIngredients(2, "Parsley");
rcp1.setIngredients(3, "Bread");
rcp1.setIngredients(4, "Cheese");
rcp2.setIngredients(0, "Biscuits");
rcp2.setIngredients(1, "Pepperoni");
rcp2.setIngredients(2, "Pizza sauce");
Вот тут я запутался:
public void setIngredients(int loc, String ingredient) {
ingredients[loc] = ingredient;
for (int i=0; i<shoppingList.length; i++){
if (shoppingList[loc] == "") {
shoppingList = ingredients;
}
}
}
Поскольку ингредиенты rcp1 и rcp2 используют местоположения ингредиентов [0, 1, 2], попытка добавить ингредиент в статический список покупок с использованием [loc] приводит к перезаписи этих местоположений первого рецепта.
Я создал цикл for, чтобы он правильно отображал ингредиенты первого рецепта; однако я не уверен, как затем перейти к поиску местоположения следующей пустой строки, чтобы перечислить ингредиенты второго рецепта. Я думал, что мне придется использовать оператор else if, а затем найти способ найти, где находится следующая пустая строка, чтобы я мог начать добавлять ингредиенты следующего рецепта с этой точки..?
Есть ли другой, возможно, более простой способ взять ингредиенты из rcp2 и поместить их после ингредиентов rcp1 в shoppingList?
Я думаю, что слишком много анализировал эту проблему и пока не смог найти решение, поэтому я был бы очень признателен, если бы кто-нибудь мог указать мне правильное направление. Благодарю вас!
setIngredients()
? Цикл for внутри бесполезен — вы не используете переменную итерацииi
внутри тела. - person Mifeet   schedule 27.04.2016shoppingList
, это правильно? - person Mifeet   schedule 27.04.2016