-1

次のコードで、= 1 2 3 のような行を入力すると、これらの数値の積を生成したいのですが、これは = 6 になります。IT は動的に生成する必要があります。 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

右中括弧の位置を間違えたと思います。2 番目のループは、最初のループの内側ではなく、最初のループの後にある必要があります。

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 に答える