0

xが定義されている行で範囲外エラーが発生しています。私は何を間違っていますか?

import java.util.ArrayList;
import java.lang.Math;

public class poopy
{
    public static void main(String[] args)
    {
       ArrayList<Integer> num = new ArrayList<Integer>();
       double x;

       for(int j=1; j<5; j++)
       {
          num.add(j);
       }

       for(int i: num)
       {
           x = num.get(i) * Math.pow(10,i);
           System.out.println(x);
       }


   }
}

これは電卓用でArrayList、数値ボタンを押すたびに int が大きくなります。

4

4 に答える 4

2

foreachループを渡し、昔ながらのループを使用する必要がありforます。

   for(int i=0;i<num.size;i++)
   {
       x = num.get(i) * Math.pow(10,i);
       System.out.println(x);
   }

何が起こるかというと、配列の値を取得しましたが、インデックスも必要です。したがって、foreach ループはありません。

于 2013-10-04T16:33:05.487 に答える
0
for(int i: num)

i ここはインデックスではなく値です。

于 2013-10-04T16:24:25.630 に答える
-1

メソッドを使用num.get(i)すると、インデックスで配列にアクセスしています。配列の要素は[num[0]=1, num[1]=2, num[2]=3, num[3]=4].

loopfor(int i: num)numarray の要素にアクセスし、それらを variable に格納していますi

于 2013-10-04T16:30:05.173 に答える