我不确定多维数组对于我想做的事情是否正确。
我想输入学生数量,然后为每个学生输入5个等级。在这样做之后,我必须计算平均值。
基本上是这样的:
学生.......... 1年级...... 2年级...... 3年级...... 4年级...... 5年级...... ....平均
Student1 ............ 87 .............. 71 ................ 64。 .............. 89 ............... 78 .............. 77.8
STUDENT2 ............ 54 .............. 76 ................ 89。 .............. 89 ............... 78 .............. 77.2
我为格式化道歉。我不知道块引用。 我不确定多维数组是否有帮助。任何想法。
答案 0 :(得分:0)
你可以做的是创建一个Student类并创建一个Student数组。
public class Student
{
private ArrayList grades;
public Student()
{
grades = new ArrayList();
}
public void addGrade(double val)
{
grades.Add(val);
}
public double getAverage()
{
double avg = 0;
for (int i = 0; i < grades.Count; i++)
avg += (double)grades[i];
avg /= grades.Count;
return avg;
}
}
并创建一个Student类数组:
Student [] students = new Student[10];
将学生成绩添加为:
students[0].addGrade(75);
答案 1 :(得分:0)
由于学生姓名的datatype
可能是string
且学生成绩的datatype
可能是double
的列表,我建议您从代表单个学生的class
。然后,当您从表单中收集一个学生的数据时,您可以创建一个学生object
,使用表单中的数据加载object
,然后计算学生的平均成绩。我不确定你之后是否需要对学生object
做任何事情(即将其添加到列表中以便导出,将其写入数据库等等)。
以下代码仅显示学生班级的外观。
using System.Collections.Generic;
using System.Windows.Forms;
namespace sandbox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
class Student
{
string studentFirstMiddleLastName;
IList<double> allStudentGrades = new List<double>();
public Student(string studentFirstMiddleLastName, IList<double> allStudentGrades)
{
StudentFirstMiddleLastName = studentFirstMiddleLastName;
AllStudentGrades = allStudentGrades;
}
public string StudentFirstMiddleLastName { get => studentFirstMiddleLastName; set => studentFirstMiddleLastName = value; }
public IList<double> AllStudentGrades { get => allStudentGrades; set => allStudentGrades = value; }
public double CalculateAverageofAllStudentGrades()
{
double average = 0.0;
// add up all grades in AllStudentGrades, divide by number of items in AllStudentGrades, load result of this calculation into the variable `average`
return average;
}
}
}