对于我的作业,我必须编写一个程序,提示收银员输入所有价格和名称,将它们添加到两个数组列表,调用我实现的方法,并显示结果并使用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;
}
答案 0 :(得分:1)
请勿在循环中使用maxSales
作为最大值。使用客户数量。在循环内部,检查sales.get(i)
是否大于当前maxSales
,如果是...
(如果你还需要的话,我会编辑这个以及更多内容。但这应该会有很长的路要走。)
答案 1 :(得分:0)
这里有几个可能的问题,但我会坚持回答我认为你问过的问题。
在nameOfBestCustomer方法中,您希望从0循环到任一ArrayLists的末尾(因为它们的大小应相同)。
for (int i = 0; i < sales.size(); i++)
{
...
}