用C#创建一个学生类,包含姓名成绩等变量,定义实例方法实现输入三门课程成绩、求平均分并输出最高分,其中增加至少两个 构造函数(重载),起到初始化的作用
时间: 2024-11-13 08:18:36 浏览: 5
在C#中,你可以创建一个名为`Student`的类,它包含了学生的姓名和成绩属性,以及用于计算平均分和最高分的方法。这里有一个简单的示例:
```csharp
public class Student
{
public string Name { get; set; }
public int[] CourseScores = new int[3]; // 存储三门课程的成绩
// 第一个构造函数,接受默认值(0)
public Student()
{
Name = "未命名";
}
// 第二个构造函数,接受名字和数组作为参数
public Student(string name)
{
Name = name;
}
// 重载构造函数,接受名字和三门课程分数
public Student(string name, int score1, int score2, int score3)
{
Name = name;
CourseScores[0] = score1;
CourseScores[1] = score2;
CourseScores[2] = score3;
}
// 输入三门课程成绩的方法
public void InputScores(int score1, int score2, int score3)
{
CourseScores[0] = score1;
CourseScores[1] = score2;
CourseScores[2] = score3;
}
// 计算平均分的方法
public double CalculateAverage()
{
if (CourseScores.All(score => score != 0)) // 避免除以零的情况
return CourseScores.Average();
else
return 0;
}
// 输出最高分的方法
public int GetHighestScore()
{
return CourseScores.Max();
}
// 主要功能测试
public static void Main(string[] args)
{
// 创建不同类型的Student实例
var student1 = new Student(); // 默认值
var student2 = new Student("张三");
var student3 = new Student("李四", 85, 92, 78);
// 输入成绩并显示结果
student3.InputScores(90, 95, 88);
Console.WriteLine($"学生 '{student3.Name}' 的平均分: {student3.CalculateAverage()}");
Console.WriteLine($"学生 '{student3.Name}' 的最高分: {student3.GetHighestScore()}");
// 测试其他构造函数
Console.WriteLine($"学生 '{student2.Name}' 的平均分: {student2.CalculateAverage()}");
}
}
```
在这个例子中,我们定义了三个构造函数,分别处理不同情况下的初始化需求。`CalculateAverage`和`GetHighestScore`方法实现了你所描述的功能。
阅读全文