【发布时间】:2020-02-22 14:52:43
【问题描述】:
我正在尝试编写一个程序,让用户选择一些学生,然后让他输入他们的毕业生。这样我将创建public int numberOfStu=0 来存储学生的编号,并创建public double [] grad 来保存名为grade 的班级的成绩。
我有两个问题:
1-我无法使grad 的长度与numberOfStu 的值相同
这是我的代码:
class grade
{
public int numberOfStu=0 ;
double[] grad = new double [numberOfStu]; // here is error
public grade()
{ }
public grade(int numStu, double [] Grads){
numberOfStu = numStu;
grad = Grads;
}
public int number() {
Console.Write("enter number of student:");
return numberOfStu = Int16.Parse(Console.ReadLine());
}
public double [] Gread(int numberOfStu) {
for (int i=0 ; i< numberOfStu; i++) {
grad[i] = double.Parse(Console.ReadLine());
}
return grad;
}
public void print()
{
Console.WriteLine("Number of students are {0}", numberOfStu);
for (int i = 0; i < numberOfStu; i++) {
Console.WriteLine("Gread of studen {0} is {1}", i + 1, Gread[i]);
}
}
}
2- 我不知道如何在主类中调用 Gread 函数 throw it 数组函数。
这是主要代码:
static void Main(string[] args)
{
grade gread1 = new grade();
gread1.number();
gread1.Grad(gread1.number()); //here is error
gread1.print();
}
【问题讨论】:
-
数组的大小不能为
0- 这就是错误的含义。 -
有什么错误?您是否已经尝试寻找错误的解决方案?
-
使用 Arraylist
代替 double[]