我把我需要的结果放到了一个动态数组里面  里面数据的特点是下标+i*3的数据时一组 比如
动态数组 5 6 2 1 4 6 3 5 4 1 2 3 6 5 2 1 2 3 6 5 2 1 4 5 2 3 6 2我想要的是 下标   0 4  8  12     1 5 9  13     2 6 10 14   
                  3 7  11 15     4 8 12 16     5 9 13 17    
                  6 10 14 18的累加和  现在写for语句  for(int i=0;i<动态数组.size();i+4){}
可是编译的时候 i+4会报错 我以前写.NET的 .NET可以  请问下我现在要怎么处理呢?谢谢大家了 还有什么语句可以实现?

解决方案 »

  1.   

    写i+4并没有改变i的值,根据要求应该放个赋值语句,如i++,i=5等
      

  2.   


    我怀疑.net这样写是可以的吗?
      

  3.   


    public class ArrayTest {
    public static void main(String[] args) {
    int[] a = new int[] {5, 6, 2, 1, 4, 6, 3, 5, 4, 1, 2, 3, 6, 5, 2, 1, 2, 3, 6, 5, 2, 1, 4, 5, 2, 3, 6, 2};
    for(int i=0; i<a.length-12; i++) {
    System.out.println();
    System.out.println(i + ", " + (i+4) + ", " + (i+8) + ", " + (i+12) + "---->" + a[i] + ", " + a[i+4] + ", " + a[i+8] + ", " + a[i+12]);
    }
    }
    }0, 4, 8, 12---->5, 4, 4, 61, 5, 9, 13---->6, 6, 1, 52, 6, 10, 14---->2, 3, 2, 23, 7, 11, 15---->1, 5, 3, 14, 8, 12, 16---->4, 4, 6, 25, 9, 13, 17---->6, 1, 5, 36, 10, 14, 18---->3, 2, 2, 67, 11, 15, 19---->5, 3, 1, 58, 12, 16, 20---->4, 6, 2, 29, 13, 17, 21---->1, 5, 3, 1
      

  4.   


                   for (int i = 0; i <= 12; i=i+4) {
    System.out.println(i);
    }
      

  5.   

    i+=4;
    可这么写,一定会outOfBoundsException的
      

  6.   

    不会outOfBoundsException,因为switch条件并没错。
    会陷入死循环。