gpt4 book ai didi

java - 循环使用不同参数的方法调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:54 24 4
gpt4 key购买 nike

似乎应该有一种方法可以用 for() 循环编写 product() 调用。我不知道该怎么做。有人知道方法吗?

// store numbers
int[] i = { 1, 7, 2, 4, 6, 54, 25, 23, 10, 65 };

System.out.println(product(i[0]));
System.out.println(product(i[0], i[1]));
........
System.out.println(product(i[0], i[1], i[2], i[3], i[4], i[5], i[6], i[7], i[8], i[9]));

public static int product(int... num) {...}

我已经编写了产品,我只需要使用从 product(i[0]) 到 product(i[0], i[1], i[2]..., [9]) 的参数调用 product .

最终代码:

// Calculate product of any amount of numbers
public static void main(String[] args)
{
// create Scanner for input
Scanner in = new Scanner(System.in);

// store numbers
int[] array = { 1, 7, 2, 4, 6, 14, 25, 23, 10, 35 };

for (int j = 1 ; j <= array.length; j++) {

// Construct a temporary array with the required subset of items
int[] tmp = new int[j];

// Copy from the original into the temporary
System.arraycopy(array, 0, tmp, 0, j);

// Make a call of product()
System.out.println(product(tmp));

} // end for
} // end method main

public static int product(int... num)
{
// product
int product = 1;

// calculate product
for(int i : num)
product *= i;

return product;

} // end method product

最佳答案

您需要创建一个包含所需项数的 int 临时数组,将 i 的子数组复制到该临时数组中,然后将其传递像这样产品:

for (int count = 1 ; count <= i.length() ; count++) {
// Construct a temporary array with the required subset of items
int[] tmp = new int[count];
// Copy from the original into the temporary
System.arraycopy(i, 0, tmp, 0, count);
// Make a call of product()
System.out.println(product(tmp));
}

关于java - 循环使用不同参数的方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20054635/

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