阿胶当归口服液价格:一道简单的c#编程题,哪位高手帮我看看?

来源:百度文库 编辑:高考问答 时间:2024/04/27 17:20:22
【习题1】
使用一维数组:

1. 编写一个名字为ArrayMath的类,它包含下面的方法来执行数组计算:
 一个名字为ArrayAverage的方法,它接受一个参数为double类型的数组(长度任意),并返回此数组的平均值;
 一个名字为ArraySum的方法,它接受两个int型的数组,这两个数组的长度相同,此方法将两个数组中对应的每对数组元素相加,将相加之和赋值给第三个数组中的元素,并将第三个数组返回;
2. 编写一个名字为TestArray的类,在这个类中定义了四个数组,分别为:
 double类型的数组distance,它包含三个元素{100,200,300}
 int类型的数组age1,它包含三个元素{10,20,30}、int类型的数组age2,它包含三个元素{34,38,31}
 调用ArrayMath类中的ArrayAverage方法对distance数组进行操作,并将平均值输出在控制台
 调用ArrayMath类中的ArraySum方法对age1和age2数组进行操作,将求和的结果存储在数组sumArray中,并将sumArray的数组元素依次输出在控制台

using System;
public class ArrayMath
{
public static double ArrayAverage(double []a)
{
double total = 0;
for ( int i = 0; i < a.Length; i++ )
total += a[ i ];
return total/(a.Length+1);
}
public static int[] ArraySum(int[] a1,int[] a2)
{
int [] r= new a1();
for (int i=0;i<a1.Length;i++)
{
r[i]=a1[i]+a2[i];
}
return r;
}
}
class TestArray
{
public static void Main()
{
double []distance={100,200,300}; //25
int []age1={10,20,30};
int []age2={34,38,31};
ArrayMath Ar=new ArrayMath();
Console.WriteLine(Ar.ArrayAverage(distance));
Console.WriteLine(Ar.ArraySum(age1,age2));
}
}

第二个方法不知道不对,
最后调用方法也有问题.

呵呵 上次就是你吧。

ArrayMath类函数定义为static 在调用的时候不需要new 关键字。
去掉ArrayMath Ar=new ArrayMath();这句

Console.WriteLine(Ar.ArrayAverage(distance));
Console.WriteLine(Ar.ArraySum(age1,age2));
其中前面这句是ArrayAverage返回的不是string 型,应该:
ConSole.WriteLine(ArrayAverage(distance).ToString());
后面这句返回的是数组类型,要输出每个成员值可以这样:
int [] t= new ArraySum(age1,age2);
for (int i=0;i<t.Length;i++)
{
ConSole.WriteLine(t[i].ToString());
}

第二个方法不要声明成static的试试,因为static是静态方法