我試圖做到這一點的Java如何編程任務:「寫,計算一系列整數傳遞給方法‘產品’使用可變長度參數列表的產品 的appliaction爲什麼我們不能將ArrayList <Integer>傳遞給帶有(Integer ...)參數的方法?
我得到VarLenArgumentList類型的方法產品(Integer ...)不適用於參數(ArrayList) 的錯誤消息。爲什麼Java將可變長度參數列表視爲數組?不是ArrayList數組?
什麼是完成任務的另一種方式?
Scanner keyboard = new Scanner(System.in);
int flag = 0;
ArrayList<Integer> intArray = new ArrayList<>();
do
{
System.out.print("Enter a positive integer or '-1' to quit:");
int input = keyboard.nextInt();
intArray.add(input);
} while (flag != -1);
product(intArray);
}
public static int product (Integer... numbers)
{
int total = 0;
for (Integer element : numbers)
total *= element;
return total;
}
不是,這不是一個騙局,至少不是爲了鏈接的問題。這裏的問題主要是'不是ArrayList的數組?',這不是鏈接線程中的問題。 – amit
在你發佈'} while(flag == -1)的例子中;'應該是'} while(input!= -1)'以匹配你的打印條件,同時'System.out.printf'應該需要'String格式''我沒有在你的例子中看到的論點,所以我猜你的意思是'System.out.print'或'System.out.println'。 – anonymous
當然你是對的。我編輯了我的帖子並對其進行了改進。 – enhancedJack