我必须存储在二维数组中的数据,然后打印价格的平均值,其中有可用的选项“否”,任何人都可以帮助找到平均值。
public class Test {
public static void main(String[] args) {
double total = 0;
Products[][] names = new Products[][]{
{new Products("k7580", 6500, "yes")},
{new Products("k8570", 7333, "no")},
{new Products("k8580", 766, "no")},
{new Products("k6580", 288, "yes")}
};
for (int i = 0; i < names.length; i++) {
for (int j = 0; j < names[i].length; j++) {
String available = names[i][j].getAvailable();
if (available.equals("no")) {
total = total + names[i][j].getPrice();
}
}
System.out.println("");
}
// from here I am not able to find average
double average = total / names.length;
System.out.println("average of price :" + average);
}
}
3条答案
按热度按时间ocebsuys1#
您不需要定义二维数组,只需维护产品的一维数组,并维护需要考虑平均值的合格项的计数(在您的情况下是不可用的项)
此代码将在单个循环中运行,而不需要嵌套循环
产量-平均价格:4049.5
tag5nh1u2#
你需要定义一个
count
根据if条件每次递增的变量(available.equals("no")
)仅计算满足条件的元素:vuktfyat3#
如果您使用java 8或更高版本,则可以使用它:
输出为:
如你所见,它很简洁。我在这里用过小溪。流有助于减少代码的冗长。