สำหรับการมอบหมายงานในโรงเรียน ฉันได้สร้างโปรแกรมที่เก็บสูตรอาหาร (ชื่อ ส่วนผสม คำแนะนำ) ได้สำเร็จ ตอนนี้ฉันต้องเพิ่มฟีเจอร์รายการช็อปปิ้งซึ่งจะนำส่วนผสมจากสูตรอาหารที่ฉันเพิ่มและจัดเก็บไว้ในอาร์เรย์สตริงแบบคงที่ใหม่
ฉันจำเป็นต้องสร้างอาร์เรย์สตริงส่วนผสมที่มีขนาด 20 และ shoppingList เป็นอาร์เรย์สตริงแบบคงที่ที่มีขนาด 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 loop ขึ้นมาเพื่อให้สามารถแสดงส่วนผสมของสูตรแรกได้อย่างเหมาะสม แต่ฉันไม่แน่ใจว่าจะหาตำแหน่งของสตริงว่างถัดไปได้อย่างไร เพื่อที่จะแสดงรายการส่วนผสมของสูตรที่สอง ฉันคิดว่าจะต้องใช้คำสั่ง else if แล้วจึงหาวิธีค้นหาว่าสตริงว่างถัดไปอยู่ที่ไหน เพื่อที่ฉันจะได้เริ่มเพิ่มส่วนผสมของสูตรถัดไปจากจุดนั้นได้..?
มีวิธีอื่นที่อาจง่ายกว่านี้ไหมที่ฉันสามารถนำส่วนผสมจาก rcp2 มาวางไว้หลังส่วนผสมของ rcp1 ใน shoppingList
ฉันคิดว่าฉันได้วิเคราะห์ปัญหานี้มากเกินไปแล้ว แต่ยังไม่สามารถหาวิธีแก้ไขได้ ดังนั้นฉันจะซาบซึ้งเป็นอย่างยิ่งหากใครสามารถชี้ทิศทางที่ถูกต้องให้ฉันได้ ขอบคุณ!
setIngredients()
ของคุณคืออะไร? การวนซ้ำ for ที่อยู่ข้างในนั้นไม่มีประโยชน์ - คุณไม่ได้ใช้ตัวแปรการวนซ้ำi
ภายในเนื้อหา - person Mifeet   schedule 27.04.2016shoppingList
ถูกต้องไหม - person Mifeet   schedule 27.04.2016