在下面的代碼中,我試圖捕獲名稱,成本和優先級到一個對象中。我使用for循環來創建7個對象,並將每個對象添加到名爲itemData的ArrayList中。使用循環來生成ArrayList
我不認爲我的代碼在每次運行循環時都會保留名稱,成本和優先級。任何建議,非常感謝。
import java.util.*;
public class Main {
public static List<ItemData> itemData = new ArrayList<ItemData>();
public static void main(String[] args) {
int i=0;
//String name1;
//int priority1;
//double cost1;
String[] item = new String[7];
for (i=0; i<item.length; i++) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter item name " + i);
String name = keyboard.next();
Scanner keyboard2 = new Scanner(System.in);
System.out.println("Enter the price of item " + i);
double cost = keyboard2.nextDouble();
Scanner keyboard3 = new Scanner(System.in);
System.out.println("Enter Priority Number " + i);
int priority = keyboard3.nextInt();
ItemData grocItem = new ItemData(name, cost, priority);
itemData.add(grocItem); // add grocery items to itemData ArrayList
};
System.out.println(item.name)
// System.out.println(+ grocItem);
}
//How do I add grocItem to an Array list of other grocItems (6 grocItems from user input array item)
//Main.itemData.add(groclist);
}
Itemdata class:
public class ItemData{
public ItemData(String name, double cost, int priority){
// Main.groclist.add(grocItem);
粘貼ItemData代碼。 – Lokesh
,爲什麼你需要這個「String [] item = new String [7];」 – Lokesh
你怎麼知道他們沒有被保留?您發佈的代碼不會編譯,我假設ItemData被定義在某處並且在普通實例變量中存儲名稱,成本和優先級?你也可以去掉'item'數組,你需要將grocItem的定義移動到它的位置,這樣System.out.println行就會被編譯(一個數組沒有'name')。 – MilesHampson