在我編寫的這個程序中,我必須打印出在商店中花費最多的客戶的名稱。我需要幫助搜索花費最多的客戶的數組列表。查找數組列表中的最大值
package bestcustomer;
import java.util.*;
/**
*
* @author muf15
*/
public class BestCustomer {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<Double> sales = new ArrayList<Double>();
ArrayList<String> names = new ArrayList<String>();
double salesAmount;
System.out.println("Enter the sales for first customer: ");
salesAmount = in.nextDouble();
while(salesAmount !=0)
{
sales.add(salesAmount);
System.out.println("Enter customers name");
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;
return name;
}
}
nameOfBestCustomer()應該只使用與highestSale()具有完全相同的代碼,除了您將存儲客戶,而不僅僅是銷售數字。然後返回客戶的姓名。實際上,如果客戶列表變得非常大,那麼您的nameOfBestCustomer方法將執行得非常差:對於列表中的每個客戶,您都在highestSale內遍歷整個列表。在名單上有100萬用戶的情況下,如果您只需要購買100萬美元,那麼您最終可以進行1萬億次(1億次)的比較! –