Java 试图打印出;“最佳客户”;谁花的钱最多
这是我到目前为止得到的。我可以打印出最高金额,但我不知道如何将客户姓名与他们的销售额联系起来,然后将他们的姓名与总额一起打印出来Java 试图打印出;“最佳客户”;谁花的钱最多,java,arrays,arraylist,max,Java,Arrays,Arraylist,Max,这是我到目前为止得到的。我可以打印出最高金额,但我不知道如何将客户姓名与他们的销售额联系起来,然后将他们的姓名与总额一起打印出来 import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class HW5 { public static void nameOfBestCustomer(ArrayList<Double> sales, ArrayLis
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class HW5 {
public static void nameOfBestCustomer(ArrayList<Double> sales,
ArrayList<String> customers) {
}
public static void main(String[] args) {
ArrayList<Double> sales = new ArrayList<Double>();
ArrayList<String> customer = new ArrayList<String>();
int[][] BestCustomer = new int[1][10];
Scanner in = new Scanner(System.in);
System.out.print("Total Number of Customers: ");
int num = in.nextInt();
for (int i = 0; i < num; i++) {
System.out.print("Enter name of customer " + (i + 1) + ": \n");
customer.add(in.next());
System.out.print("Total amount for customer " + (i + 1) + ": \n");
sales.add(in.nextDouble());
}
double maximum = Collections.max(sales);
System.out.println("The Best Customer is " + customer
+ "with a purchase of ");
System.out.println(String.format("$%.2f", maximum));
}
}
import java.util.ArrayList;
导入java.util.Collections;
导入java.util.Scanner;
公共级HW5{
贝斯特客户的公共静态无效名称(ArrayList sales,
ArrayList(客户列表){
}
公共静态void main(字符串[]args){
ArrayList sales=新建ArrayList();
ArrayList客户=新的ArrayList();
int[]BestCustomer=新int[1][10];
扫描仪输入=新扫描仪(系统输入);
系统输出打印(“客户总数:”);
int num=in.nextInt();
for(int i=0;i
您使用的是“平行”列表,即两个单独的列表,预期彼此以1:1的比例对应:
ArrayList<Double> sales = new ArrayList<Double>();
ArrayList<String> customer = new ArrayList<String>();
现在,您可以维护单个阵列:
ArrayList<Transaction> transactions = new ArrayList<Transaction>();
然后你必须有一种方法来比较两个事务
s;您的选择是:
事务
或我将把这些细节留给您作为练习-查看关于的官方教程,它简短、简洁,并且包含好的示例。一旦您这样做,您现在就有了使用
Collections.max()
(用于选项2或用于选项1)的基础结构,max()
现在将直接返回交易
对象,该对象包含金额和客户名称。覆盖了自定义对象吗?我假设HW5是作业5?因为您使用的是平行列表,所以请使用您的最高金额来获得客户列表的相应索引。使用循环来检查销售中的值。如果找到最大销售额,则保存该索引i
。然后打印出该索引的客户和该索引的销售额<代码>销售。获取(i)和客户。获取(i)
之类的东西。非常感谢!我想我开始明白该怎么做了,但以防万一,你能检查一下我的部分新代码吗?对于(int i=0;iArrayList<Transaction> transactions = new ArrayList<Transaction>();
Transaction t = new Transaction();
t.sale = ...;
t.customer = ...;
transactions.add(t);