Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要数组列表的方法帮助吗_Java_Arrays_Arraylist - Fatal编程技术网

Java 需要数组列表的方法帮助吗

Java 需要数组列表的方法帮助吗,java,arrays,arraylist,Java,Arrays,Arraylist,在我的家庭作业中,我必须编写一个程序,提示出纳输入所有价格和名称,将它们添加到两个数组列表中,调用我实现的方法,显示结果,并使用0作为哨兵值。我很难在方法中找到for循环,我相信我的条件是正确的,但是我在语句中遇到了问题。任何帮助都将不胜感激!谢谢 public static void main(String[] args) { Scanner in = new Scanner(System.in); ArrayList<Double> sales = new Array

在我的家庭作业中,我必须编写一个程序,提示出纳输入所有价格和名称,将它们添加到两个数组列表中,调用我实现的方法,显示结果,并使用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;
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
ArrayList sales=新建ArrayList();
ArrayList name=新的ArrayList();
系统输出打印(“输入客户数量”);
双倍销售额;
系统输出打印(“输入第一个客户的销售额”);
salesAmount=in.nextDouble();
while(销售额!=0)
{
销售。添加(销售金额);
System.out.println(“输入客户名称:”);
name.add(in.next());
System.out.println(“输入下一个销售金额,0表示退出:”);
salesAmount=in.nextDouble();
}
字符串bestCustomer=bestCustomer的名称(销售、名称);
}
贝斯特客户的公共静态字符串名称(ArrayList sales,ArrayList customers)
{
字符串名称=”;
双倍销售;
对于(int i=0;isales.size(name.get);这里有几个可能的问题,但我会坚持回答我认为是您提出的问题

在nameOfBestCustomer方法中,您需要从0循环到任意一个ArrayList的末尾(因为它们的大小应该相同)

for(int i=0;i
不要将
maxSales
用作循环中的最大值。使用客户数计数。在循环中,检查
sales.get(i)
是否大于当前的
maxSales
,如果是


(如果您仍然需要,我将编辑此内容和更多内容。但这应该会有很大的帮助。)

查看。您需要特别查看
size
get
方法。好的,我尝试过了,但出现了一个错误
sales.size(name.get)
???????您希望该语句能做什么?首先,要使用
get
,您需要在
ArrayList
中使用变量,即
names
,然后必须为它提供您想要获取的元素的索引,如
names.get(i)
,这将返回一个
字符串,然后您需要对其进行处理…正如@ajb所指出的,您显然是在混合您的想法。请放慢速度,思考如何用文字描述您的解决方案,然后再次尝试编写您的代码。当我输入类似的内容时,它表示仍然是错误的字符串名称=“”;double maxSales;for(int i=0;i Java使用基于零的索引。您希望for循环中的条件在sales.size()之前停止一个。您应该使用ifor (int i = 0; i < sales.size(); i++)
{
...
}