题目先奉上:定义一个含有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++ ;
}
}
}
然后按顺序每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++ ;
}
}
}
...
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 ;
}
你那个定义数组b 的个数为什么是6个呢??还有,如果我要求是在1~100里取偶数呢? 那数组b里面的数应该有多少,还要一个个的去算吗?~~~我想定义b数组里元素的个数,智能的跟之前我求的平均数的个数一样。
{
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++ ;
}
}
}
{
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]);
}
}
}
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]); //打印出
}
}
}
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数组输出
}
}
}
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去测试测试,看看结果!
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++ ;
}
}
}
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++; //将数组下表递增
}
}
}