我在定义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);
}
}
}
这将是一个计算器,每次按下数字按钮时,int ArrayList
都会增长。
答案 0 :(得分:2)
您需要传递foreach
循环并使用旧式for
循环:
for(int i=0;i<num.size;i++)
{
x = num.get(i) * Math.pow(10,i);
System.out.println(x);
}
您会得到数组的值,但您也需要索引。所以,没有foreach循环。
答案 1 :(得分:0)
for(int i: num)
我这里的价值不是指数。
答案 2 :(得分:0)
你的(for-each)循环应该是这样的:
for(int i: num)
{
x = i * Math.pow(10,i);
System.out.println(x);
}
我代替num.get(i)
如果你想通过索引访问项目,那么你不应该使用for-each循环,使用for循环如下:
for(int i = 0; i < num.size(); i++)
{
x = num.get(i) * Math.pow(10,i);
System.out.println(x);
}
答案 3 :(得分:-1)
使用num.get(i)
方法,您可以通过索引访问数组。数组的元素是[num[0]=1, num[1]=2, num[2]=3, num[3]=4]
。
循环for(int i: num)
正在访问num
数组的元素,并将它们存储在变量i
中。