多个输入仅需一个 Setter

Multiple inputs with just one Setter

我希望你能帮助我完成一个学校项目。我正在编写一个代码,用户可以在其中输入用户在橱柜中拥有的杂货。它还指定了它是什么类型的产品、名称、购买商店、标签、价格、数量——这就像一个库存。我有一个 class 名称 Dairy,我可以为我需要的每个输入单独创建一个 getter。这工作得很好,我设置它,有一个传递参数,当我在 InputDairy 方法中调用 getter 时,它工作得很好。

但是由于我向用户询问了很多关于产品的问题,所以我不想拥有 10 个 getters 是否有一种方法可以只拥有一个然后传递参数?下面的代码是无效的,我尝试将所有参数设置在一个 getter 中,然后一个一个地传递参数。那是行不通的。这是可能的还是我必须为我提出的每个问题设置一个 getter?

public static void InputDairy (Dairy DairyProducts[], Fruit FruitProducts[], Scanner input){ // START OF INPUT DAIRY

     System.out.println("Let's put in some DAIRY products");

     for (int i = 0; i < DairyProducts.length; i++){

         System.out.println("Enter name of DIARY product");
         String a = input.next();
         DairyProducts[i].setDairyData(a);

         System.out.println("Enter Store where you bought DIARY product");
         String a = input.next();
         DairyProducts[i].setDairyData(b);

         System.out.println("Enter how much you paid for DIARY product");
         String a = input.next();
         DairyProducts[i].setDairyData(c);

         System.out.println("Enter when did you buy DIARY product");
         String a = input.next();
         DairyProducts[i].setDairyData(d);
   }

} // END OF INPUT DAIRY enter code here


public class Dairy {
    private String D_NameOfDairy;
    private String D_NameOfStore;
    private int D_PricePaid;
    private int D_DayPurchased;
    private int D_BestBefore;
    private int D_AmountInGrams;
    private int D_Pieces;

    public Dairy () {

        D_NameOfDairy = "Default name of dairy";
        D_NameOfStore = "Default name of store for dairy";
        D_PricePaid = 0;
        D_DayPurchased = 01/01/2000;
        D_BestBefore = 10/10/2010;
        D_AmountInGrams = 0;
        D_Pieces = 0;
    }

    public void setDairyData (String a, String b, int c, int d){

        D_NameOfDairy = a;
        D_NameOfStore = b;
        D_PricePaid = c;
        D_DayPurchased = d;

    }

}

首先获取用户的所有答案,然后将这些答案一行传递给您的 setter 函数。

public static void InputDairy (Dairy DairyProducts[], Fruit FruitProducts[], Scanner input){ 

     System.out.println("Let's put in some DAIRY products");

     for (int i = 0; i < DairyProducts.length; i++){

         System.out.println("Enter name of DIARY product");
         String a = input.next();

         System.out.println("Enter Store where you bought DIARY product");
         String b = input.next();

         System.out.println("Enter how much you paid for DIARY product");
         String c = input.next();

         System.out.println("Enter when did you buy DIARY product");
         String d= input.next();

         DairyProducts[i].setDairyData(a,b,c,d);
   }

}