题目先奉上:定义一个含有30整型元素的数组,按顺序分别赋予从2开始的偶数;
然后按顺序每5个数求出一个平均值,放在一个新的数组中并输出。我就是在最后一步,将求出的结果放到一个新的数组里发生了问题,放不进去。
谁帮我把最后一步加到代码里去,写了一晚上代码。。 突然糊涂了。。
public class JavaMean 
{
public static void main(String[] args) 
{
int[] a = new int[30] ;
int y = 1 ,sum = 0 ,s ;
for (int x = 0 ; x<a.length ; x+=2 )//只求偶数
{
a[x] = x + 2 ;
System.out.println(a[x]);
sum = sum + a[x] ;
if (y%5==0)  // 求到每五个偶数跳进来求平均数
{
s = sum/5 ;
int[] b ={s} ;
System.out.println("第"+(y-4)+"~"+y+"个偶数相加的平均值="+s);
sum = 0 ;
}
y++ ;
}
}
}

解决方案 »

  1.   

       
    ...
    int []b = new int[6];
    int index = 0;
    ...
             if (y%5==0)  // 求到每五个偶数跳进来求平均数
                {
                    s = sum/5 ;
                    b[index++] = s;
                    System.out.println("第"+(y-4)+"~"+y+"个偶数相加的平均值="+s);
                    sum = 0 ;
                }
      

  2.   

    2楼,你的方法跟我之前考虑的差不多。
    你那个定义数组b 的个数为什么是6个呢??还有,如果我要求是在1~100里取偶数呢? 那数组b里面的数应该有多少,还要一个个的去算吗?~~~我想定义b数组里元素的个数,智能的跟之前我求的平均数的个数一样。
      

  3.   

    public class JavaMean 
    {
        public static void main(String[] args) 
        {
            int[] a = new int[30] ;
            int[] b = new int[a.length/5];   //定义了一个可以装a.length/5个数的数组
            int y = 1 ,sum = 0 ,s ;
            for (int x = 0 ; x<a.length ; x+=2 )//只求偶数
            {
                a[x] = x + 2 ;
                System.out.println(a[x]);
                sum = sum + a[x] ;
                if (y%5==0)  // 求到每五个偶数跳进来求平均数
                {
                    s = sum/5 ;
                    //int[] b ={s} ;
                    b[y/5-1] = s;    //将5个数的平均数放到b[]数组里
         
                    System.out.println("第"+(y-4)+"~"+y+"个偶数相加的平均值="+s);
                    sum = 0 ;
                }
                y++ ;
            }
        }
    }
      

  4.   

    public class JavaMean 
    {
    public static void main(String[] args) 
    {
    int[] a = new int[30];
    int[] a = new int[30];
    int[] b = new int[6];
    int y = 1 ,sum = 0 ,s ;
    for (int x = 0 ; x<a.length ; x++ )
    {
        a[x] = x * 2 + 2;
        out.println(a[x]);
        sum = sum + a[x] ;
        if (y%5==0)  // 求到每五个偶数跳进来求平均数
        {
         s = sum/5 ;
         b[y / 5 - 1] = s;        
            out.println("<br>第"+(y-4)+"~"+y+"个偶数相加的平均值="+s);
            sum = 0 ;
        }
        y++ ;
    }
    for (int x = 0; x < b.length ; x++ )
    {
    out.println("<br>" + b[x]);
    }
    }
    }
      

  5.   

    哦,那个是b数组是我忘了删除了。。  不好意思~~~~我整合了一下各位的意见,得出了我要的代码了。
    public class JavaMean 
    {
    public static void main(String[] args) 
    {
    int[] a = new int[30] ; //在这里a数组的数量可以不仅仅是30位了,1000位也行
    int y = 1 ,sum = 0 , s , z = 0 ;
    int[] b = new int[a.length/10] ;
    //由于题目指出5个偶数产生一个平均数,那么我在下文只求偶数的话,就是10个数才能有5个偶数。
    for (int x = 0 ; x<a.length ; x+=2 )//只求序列里的偶数
    {
    a[x] = x + 2 ;
    System.out.println(a[x]);
    sum = sum + a[x] ;  //把每次得到的偶数加起来
    if (y%5==0)   //当加到每5个就跳进来求平均数
    {
    s = sum/5 ;
    b[z++] = s ;  
                    //这里,依次为: b[0]  b[1]  b[2] ... 一直到y%5 不满足为止
      System.out.println("第"+(y-4)+"~"+y+"个偶数相加的平均值="+s);
    sum = 0 ; // 对sum清零 不然影响下一次计算
    }
    y++ ;
    } for (int i = 0 ; i<b.length ; i++ )
    {
    System.out.println("b["+i+"]="+b[i]); //打印出
    }
    }
    }
      

  6.   

    public class JavaMean {    public static void main(String[] args) {
            int[] a = new int[30];
            int[] b = new int[a.length / 5];//定义b数组
            int y = 1, sum = 0, s;
            for (int x = 0; x < a.length; x += 2)//只求偶数
            {
                a[x] = x + 2;
                System.out.println(a[x]);
                sum = sum + a[x];
                if (y % 5 == 0) // 求到每五个偶数跳进来求平均数
                {
                    s = sum / 5;
                    b[y / 5 - 1] = s;
                    System.out.println("第" + (y - 4) + "~" + y + "个偶数相加的平均值=" + s);
                    sum = 0;
                }
                y++;
            }
            for(int i = 0;i<b.length/2;i++){
                
                System.out.println(b[i]);//将b数组输出
            }
        }
    }
      

  7.   


    public class JavaMean { 
    public static void main(String[] args) { 
    int[] a = new int[39] ; 
    int y = 1 ,sum = 0 ,s ; 

    //这样就好了,因为每次都是5个偶数求一次平均数,所以要除以10,
    //加9 的目的是这样的,举个分配宿舍的例子来说吧,比如说每个宿舍能住
    //6个人,现在又31个人,要分配多少个宿舍,其公式就是:
    //(总人数+宿舍能住的人数减1)/宿舍能住的人数,下面是一系列数字
    //29--5,31--6,32--6,33--6,34--6,35--6,36--6,类似的可以得到本题的公式
    int[] b = new int[(a.length + 9) / 10];
    int i = 0;
    for (int x = 0 ; x<a.length ; x+=2 ) {
    a[x] = x + 2 ; 
    System.out.println(a[x]); 
    sum = sum + a[x] ; 
    if (y%5==0) { 
    s = sum/5 ; 
    System.out.println("第"+(y-4)+"~"+y+"个偶数相加的平均值="+s); 
    sum = 0 ; 
    b[i++] = s;//给每一个元素赋值
    }
    y++ ;
    }
    }
    }楼主可以看看,我在程序中做了详细的解释,怎么生成一个正好合适的数组来存放结果,楼上有的算法就有问题,可以拿39去测试测试,看看结果!
      

  8.   


    public class JavaMean { 
    public static void main(String[] args) { 
    int[] a = new int[39] ; 
    int y = 1 ,sum = 0 ,s ; 

    //这样就好了,因为每次都是5个偶数求一次平均数,所以要除以10,
    //加9 的目的是这样的,举个分配宿舍的例子来说吧,比如说每个宿舍能住
    //6个人,现在又31个人,要分配多少个宿舍,其公式就是:
    //(总人数+宿舍能住的人数减1)/宿舍能住的人数,下面是一系列数字
    //29--5,31--6,32--6,33--6,34--6,35--6,36--6,类似的可以得到本题的公式
    int[] b = new int[(a.length + 9) / 10];
    int i = 0;
    for (int x = 0 ; x<a.length ; x+=2 ) {
    a[x] = x + 2 ; 
    System.out.println(a[x]); 
    sum = sum + a[x] ; 
    if (y%5==0) { 
    s = sum/5 ; 
    System.out.println("第"+(y-4)+"~"+y+"个偶数相加的平均值="+s); 
    sum = 0 ; 
    b[i++] = s;//给每一个元素赋值
    }
    y++ ;
    }
    }
    }
      

  9.   

    如果总人数为n,宿舍能住的人数为d,则总的宿舍数:(n + d - 1) / d
      

  10.   

    我和楼主理解的不太一样!这是我的代码,上来充个数public static void main(String args[]) { int[] tmp = new int[30];
    int sum = 0;
    int count = tmp.length / 5;
    int[] intArr = new int[count];
    int k = 0; for (int i = 1; i <= tmp.length; i++) {
    // 先初始化数组
    tmp[i - 1] = 2 * i;
    // 求出每五个数据的平均数
    System.out.println("第" + i + "个数是---->" + tmp[i - 1]);
    if (i % 5 != 0) {          //前四个数相加
    sum += tmp[i - 1];
    } else { 
    sum+=tmp[i-1];        //加上第 5个数          
    intArr[k] = sum / 5;  //求前几个数的平均数
    System.out.println("第" + (k+1)+"个平均数是------>>>"+intArr[k]);   //打印出平均数
    sum = 0;             //将求和器清零
    k++;                 //将数组下表递增
    }
    }
    }