| 本帖最后由 岳珅 于 2013-1-29 23:48 编辑 
 为什么为什么,在类文件里,那个sex不是已经用if判断了么,小兰那里我输入的也是女,说明判断成立了,就把value的值赋给sex了啊,为什么一输出就说小兰是男的呢。。。
 上面的是主函数,下面的是类。复制代码/*定义一个学生类,有六个属性,分别为姓名、性别、年龄、语文、数学、英语成绩。
有2个方法:
一个打招呼的方法:介绍自己叫XX,今年几岁了。是男同学还是女同学。
两个计算自己总分数和平均分的方法。{显示:我叫XX,这次考试总成绩为X分,平均成绩为X分}
实化两个对象并测试:
张三 男 18  三科成绩为:90 95 80
小兰 女 16  三科成绩为:95 85 100*/
namespace test6
{
    class Program
    {
        static void Main(string[] args)
        {
            Student zsStu = new Student();
            Student xlStu = new Student();
            zsStu.Sex = '男';
            zsStu.Age=18;
            zsStu.Name = "张三";
            zsStu.Ch = 90;
            zsStu.Eng = 95;
            zsStu.Ma = 80;
            xlStu.Sex ='女';
            xlStu.Age = 16;
            xlStu.Name = "小兰";
            xlStu.Ch = 95;
            xlStu.Eng = 85;
            xlStu.Ma = 100;
            zsStu.SayHi();
            xlStu.SayHi();
            zsStu.Score();
            xlStu.Score();
            Console.ReadKey();
        }
    }
}
复制代码namespace test6
{
    class Student
    {
        private string name;
        public string Name
        {
            get { return name; }
            set
            {
                if (name == "黑马老师")
                    name = "好老师";
                else
                    name = value;
            }
        }
        private char sex;
        public char Sex
        {
            get { return sex; }
            set 
            {
                if (sex == '男' || sex == '女')
                {
                    sex = value;
                }
                else
                {
                    sex = '男';
                }
            }
        }
        private int age;
        public int Age
        {
            get { return age; }
            set 
            {
                age = value >= 0 ? value : 0;
            }
        }
        private int ch;
        public int Ch
        {
            get { return ch; }
            set 
            {
                ch = value >= 0 ? value : 0;
            }
        }
        private int ma;
        public int Ma
        {
            get { return ma; }
            set
            {
                ma = value >= 0 ? value : 0;
            }
        }
        private int eng;
        public int Eng
        {
            get { return eng; }
            set
            {
                eng = value >= 0 ? value : 0;
            }
        }
        public void SayHi()
        {
            Console.WriteLine("你好,我叫{0},我今年{1}岁了,我是{2}生。",name,age,sex); 
        }
        public void Score()
        {
            Console.WriteLine("你好,我叫{0},我的总成绩是{1},平均成绩是{2}。",name,ch+ma+eng,(ch+ma+eng)/3);
        }
    }
}
  
 
 |