【问题标题】:Adding numbers Into ArrayList Using a for Loop - Java使用 for 循环将数字添加到 ArrayList - Java
【发布时间】:2014-04-17 11:15:23
【问题描述】:

一家超市想要奖励每天最好的顾客,在超市的屏幕上显示顾客的名字。为此,客户的购买金额存储在 ArrayList 中,客户的姓名存储在相应的 ArrayList 中。实现一个方法 public static String nameOfBestCustomer(ArrayList sales, ArrayList customers),它返回销售额最大的客户的姓名。编写一个程序,提示收银员输入所有价格和名称,将它们添加到两个数组列表中,调用您实现的方法并显示结果。使用 0 的价格作为标记。

到目前为止,我在使用 for 循环通过键盘将数字/名称输入到数组中时遇到问题。这是我目前所拥有的;

import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;

public class TopCustomer {

    public static String 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>();
    Scanner in = new Scanner(System.in);        
    System.out.print("How many Customers are there?");
    int num = in.nextInt();

    for (int i = 1; num <= i; i++) {
        System.out.print("Enter name of customer " + i + ": \n");
        customer.add(i) = in.nextString();
        System.out.print("Enter how much customer " + i + ": \n");
        sales.add(i) = in.nextDouble(); 
    }
}

}

【问题讨论】:

  • 销售使用customer.add(in.nextString());
  • 我仍然收到错误:找不到符号 customer.add(in.nextString());

标签: java arrays methods arraylist


【解决方案1】:

你的错误在这里:

for (int i = 1; num <= i; i++) { 

如果用户输入大于 1 的 num,则此循环将立即终止。你想要的是:

for (int i = 1; i <= num; i++) {

您也添加了错误的数据。而不是这个:

customer.add(i) = in.nextString();

  sales.add(i) = in.nextDouble(); 

做,

customer.add(in.nextString())

sales.add(in.nextDouble());

【讨论】:

    【解决方案2】:

    这里有 2 个错误,我在下面更正了它们

    for (int i = 0; i < num; i++){
        System.out.print("Enter name of customer " + (i+1) + ": \n");
        customer.add(in.next());
        System.out.print("Enter how much customer " + (i+1) + ": \n");
        sales.add(in.nextDouble()); 
    }
    

    首先,您的 for 循环应该按照我提出的方式进行格式化,否则它总是会立即结束,除非只有 1 个客户,而且您使用的 .add() 方法会自动将里面的内容添加到数组列表的末尾。

    【讨论】:

    • 感谢您的帮助!我仍然收到错误消息:找不到符号 customer.add(in.nextString());
    猜你喜欢
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2012-12-10
    • 1970-01-01
    • 2020-10-22
    相关资源
    最近更新 更多