這是我已經完成的問題的唯一部分,它只從用戶讀取一個值列表,然後打印所有並指向最大的投入。我很困惑如何將特定客戶的數組列表與他們的具體姓名組合在一起。 實際問題:此方法應返回銷售量最大的客戶的名稱。實現一個方法public static String nameOfBestCustomer(ArrayList <Double> sales,ArrayList <String <customers)
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ArrayList<Double> values = new ArrayList<Double>();
System.out.println("Enter the customers purchase amount, Q to quit");
Scanner in = new Scanner(System.in);
while(in.hasNextDouble()){
values.add(in.nextDouble());
}
double largest = values.get(0);
for (int i =1; i< values.size(); i++){
if (values.get(i) > largest){
largest = values.get(i);
}
}
for (double element : values){
System.out.print(element);
if (element == largest){
System.out.println(" <===largest value");
}
System.out.println();
}
}
一個理想的解決方案將包括在名爲(例如)Customer的類中定義'customerName'和'periodSales'作爲實例字段。如果'Customer'實例具有自然順序,那麼你也應該爲它們定義一個compator。然後,可以很容易地在'List sales = new ArrayList ();'集合中操縱'Customer'對象。您提供的代碼可能會受益於更大的面向對象。 –
scottb