gpt4 book ai didi

java - 如何在方法中为多个数组创建 foreach 循环?

转载 作者:行者123 更新时间:2023-12-01 09:24:39 26 4
gpt4 key购买 nike

我是代码初学者,所以如果我的数据结构和逻辑实践不佳,我深表歉意。我需要打印出每种产品的总销售额。例如,对于“mac”,它将被标记为类别 0,“iphone”将被标记为类别 1。

我无法将类别的索引位置与每个类别的总和相匹配。我真的只需要某种 for 循环。我意识到我可以制作一个二维数组以及使用 intstream,但我还没有学会。这只是代码的一部分,因此使用二维数组确实会让事情变得复杂。

现在,我正在尝试以下操作:

public static int[] totalSale( int[] mac, int[] iphone, int[] ipad, int[] ipod ){
int[] totalSale = {0,0,0,0};
int sum = 0;
for (int i : mac) {
sum += i;
}
for (int i = 0; i < totalSale.length; i++) {
System.out.println("Total sale for category " + i + ": $" + sum);
}
return totalSale;
}

最佳答案

您可以尝试创建一个更通用/可重用的方法。让您的方法一次仅计算一种产品的总销售额。

public static int totalSale( int[] salesFigures )
{
int totalSale = 0;
// calculate total sale of one product only. HINT: salesFigures.length
return totalSale;
}

您可以将所有产品数组存储在 ArrayList 中,然后在循环内调用totalSale()。

for(/*number of products*/)
{
//totalSales(productArray);
}

查看 java.util.Collections 的文档–当它读到这样的内容时,foreach 循环将开始变得更加有用......

for( Product prod : productList ) // for each product in productList
{
System.out.println( totalSales(prod) );
}

...在 Java 8 中,本着面向对象的精神,Product 将成为它自己的类,并且它将 @Override toString() (所有类隐式扩展 java.lang.Object )或将有自己的方法,称为 printTotalSales()...

productList.foreach( Product::printTotalSales );

关于java - 如何在方法中为多个数组创建 foreach 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39935407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com