Java 需要数组列表的方法帮助吗
在我的家庭作业中,我必须编写一个程序,提示出纳输入所有价格和名称,将它们添加到两个数组列表中,调用我实现的方法,显示结果,并使用0作为哨兵值。我很难在方法中找到for循环,我相信我的条件是正确的,但是我在语句中遇到了问题。任何帮助都将不胜感激!谢谢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
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;i sales.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++)
{
...
}