需要数组列表的方法帮助

时间:2014-03-28 19:47:49

标签: java arrays arraylist

对于我的作业,我必须编写一个程序,提示收银员输入所有价格和名称,将它们添加到两个数组列表,调用我实现的方法,并显示结果并使用0作为标记值。我很难在方法中找到一个for循环,我相信我的条件是正确的但是我在使用这些语句时遇到了麻烦。任何帮助将不胜感激!感谢。

public static void main(String[] args) {
   Scanner in = new Scanner(System.in);
   ArrayList<Double> sales = new ArrayList<Double>();
   ArrayList<String> names = new ArrayList<String>();
   System.out.print("Enter Number of Customers");
   double salesAmount;
   System.out.print("Enter Sales for First Customers");
   salesAmount = in.nextDouble();
   while(salesAmount != 0)
   {
       sales.add(salesAmount);
       System.out.println("Enter Name of Customer: ");
       names.add(in.next());
       System.out.println("Enter the next sales amount, 0 to exit: ");
       salesAmount = in.nextDouble();
   }

   String bestCustomer = nameOfBestCustomer(sales, names);

}

public static String nameOfBestCustomer(ArrayList<Double> sales, ArrayList<String> customers)
{
    String name = "";
    double maxSales;

    for (int i = 0; i < sales.size(); i++)
    {
        sales.size(name.get); <== it keeps saying "cannot find the symbol variable get"
    }
 return name;
}

2 个答案:

答案 0 :(得分:1)

请勿在循环中使用maxSales作为最大值。使用客户数量。在循环内部,检查sales.get(i)是否大于当前maxSales,如果是...

(如果你还需要的话,我会编辑这个以及更多内容。但这应该会有很长的路要走。)

答案 1 :(得分:0)

这里有几个可能的问题,但我会坚持回答我认为你问过的问题。

在nameOfBestCustomer方法中,您希望从0循环到任一ArrayLists的末尾(因为它们的大小应相同)。

for (int i = 0; i < sales.size(); i++)
{
...
}