-1

在下面的代码中,当我输入 = 1 2 3 之类的行时,我想生成这些数字的乘积 = 6.. IT 必须动态生成.. 例如,如果输入任何时间,例如 1 2 3 4 5...

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String line = br.readLine();

    StringTokenizer st = new StringTokenizer(line);
    list = new LinkedList<Integer>();

    while (st.hasMoreTokens()){
        int number = Integer.parseInt(st.nextToken());


        list.push(number);


        for (int i = 0; i < list.size(); i++){
            Integer a[] = new Integer[list.size()];
                a[i]=list.pop();




        }
4

1 回答 1

1

我认为你放错了右括号:第二个循环应该在第一个循环之后,而不是在里面。

此外,可以使用toArray方法而不是循环来将列表转换为数组。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();

StringTokenizer st = new StringTokenizer(line);
list = new LinkedList<Integer>();

while (st.hasMoreTokens()){
    int number = Integer.parseInt(st.nextToken());
    list.push(number);
}
/* Removed:
Integer a[] = new Integer[list.size()];
for (int i = 0; i < list.size(); i++){
        a[i]=list.pop();
}
*/
Integer a[] = list.toArray();
于 2013-09-23T18:55:06.663 回答