• 面向对象第一次练手-------ArrayList集合、类、对象、冒泡排序、类型转换


    思维转不过弯儿来  怎么做都是错      哪怕差一个()就成功的事情,也是千差万别

    忽然想到一句话:差一步就成功的距离  =  差几万米就成功的距离

    部分的理解和都体现在代码和注释里

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace 面向对象初步练手
     8 {
     9     class Student
    10     {
    11 
    12 
    13         //      请输入学生数量:10
    14 
    15         //请输入第1个学生的姓名:sdf
    16         //请输入第1个学生的性别:男
    17         //请输入第1个学生的成绩:0~100 (不在这个范围之内,算作0分)
    18         //...
    19         //...
    20 
    21         //========学生信息展示=========
    22         //名次   姓名    性别     成绩
    23         //1      张三     男        99
    24         //2      李四     女        90
    25         //...
    26         //...
    27         #region 封装  姓名
    28         private string _Name;
    29 
    30         public string Name
    31         {
    32             get { return _Name; }
    33             set { _Name = value; }
    34         }
    35         #endregion
    36 
    37         #region 封装  性别
    38         private bool _Sex;
    39 
    40         public bool Sex
    41         {
    42             get { return _Sex; }
    43             set { _Sex = value; }
    44         }
    45         public string Sexstr
    46         {
    47             get { return _Sex ? "" : ""; }
    48             set
    49             {
    50                 if (value == "")
    51                     _Sex = true;
    52                 else
    53                     _Sex = false;
    54             }
    55         }
    56         #endregion
    57 
    58         #region 封装  成绩
    59         private int _Degree;
    60 
    61         public int Degree
    62         {
    63             get { return _Degree; }
    64             set {
    65                 if (value >= 0 && value <= 100)
    66                 {
    67                     _Degree = value;
    68                 }
    69                 else
    70                 {
    71                     _Degree = 0;
    72                 }
    73             }
    74         }
    75         #endregion
    76 
    77 
    78 
    79 
    80 
    81 
    82 
    83 
    84 
    85     }
    86 }
      1 using System;
      2 using System.Collections;
      3 using System.Collections.Generic;
      4 using System.Linq;
      5 using System.Text;
      6 using System.Threading.Tasks;
      7 
      8 namespace 面向对象初步练手
      9 {
     10     class Program
     11     {
     12         static void Main(string[] args)
     13         {
     14 
     15 
     16             //      请输入学生数量:10
     17 
     18             //请输入第1个学生的姓名:sdf
     19             //请输入第1个学生的性别:男
     20             //请输入第1个学生的成绩:0~100 (不在这个范围之内,算作0分)
     21             //...
     22             //...
     23 
     24             //========学生信息展示=========
     25             //名次   姓名    性别     成绩
     26             //1      张三     男        99
     27             //2      李四     女        90
     28             //...
     29             //...
     30 
     31 
     32 
     33             //创建集合(集合就是个带有标记的大房间)
     34             ArrayList stu = new ArrayList();
     35 
     36             Console.Write("请输入学生数量:");
     37             int stucount = Convert.ToInt32(Console.ReadLine());
     38             Console.WriteLine();
     39 
     40             for (int i = 1; i <= stucount; i++)
     41             {
     42                 //把student类   实例化  成一个实际的对象(把人类这个虚构的一个想法,实例化成一个真正的人    人有姓名、性别、成绩这些属性 )
     43                 Student s = new Student();
     44                 Console.Write("请输入第" + i + "个学生的姓名:");
     45                 //给这个人(this这个人)姓名这个属性给附上值  
     46                 s.Name = Console.ReadLine();
     47 
     48                 Console.Write("请输入第" + i + "个学生的性别:");
     49                 s.Sexstr = Console.ReadLine();
     50 
     51                 Console.Write("请输入第" + i + "个学生的成绩:");
     52                 s.Degree = Convert.ToInt32(Console.ReadLine());
     53 
     54 
     55                 //把这个人(这个人带着这些被赋值的   属性)放入到带有标记的大房间里
     56                 stu.Add(s);
     57                 Console.WriteLine();
     58 
     59             }
     60 
     61 
     62 
     63             //冒泡排序
     64 
     65 
     66             for (int i = 0; i < stu.Count; i++)
     67             {
     68                 for (int j = i + 1; j < stu.Count; j++)
     69                 {
     70                     if (((Student)stu[i]).Degree < ((Student)stu[j]).Degree)
     71                     {
     72                         object temp = stu[i];
     73                         stu[i] = stu[j];
     74                         stu[j] = temp;
     75                     }
     76                 }
     77             }
     78             Console.WriteLine();
     79             Console.WriteLine();
     80             Console.WriteLine("  ========学生信息展示=========");
     81             Console.WriteLine();
     82             Console.WriteLine(" 名次  姓名  性别  成绩");
     83             Console.WriteLine();
     84 
     85 
     86 
     87             //遍历ArrayList stu这个集合,然后输出
     88             int count = 1;
     89             foreach (object a in stu)
     90             {
     91                 Student s = (Student)a;
     92                 
     93                 Console.WriteLine("  " + count + "   " + s.Name + "   " + s.Sexstr + "   " + s.Degree);
     94                 Console.WriteLine();
     95                 count++;
     96             }
     97 
     98 
     99 
    100             Console.ReadLine();
    101         }
    102     }
    103 }

    标红和注释的是最让我昨天昨晚最头疼的   以至于敲到最后自己能很明显的感觉到脑子转不动了,实在是转不动了   打个比方:要拿起杯子喝水,杯子拿起来了,不知道怎么喝水了,不知道怎么张嘴了,还会傻呵呵的问“喝水该怎么喝,该怎么张嘴”

  • 相关阅读:
    常见压缩/解压缩及打包命令
    黑盒测试和白盒测试
    基础命令的操作

    转]DLL-多个进程间共享动态链接库的原理
    Ansi UNICODE,GBK,UTF-8区别
    Cppunit 源码 SynchronizedObject
    二分查找实现
    Androdi 开发学习四 Activity和Intent
    Android开发学习三:adb启动失败
  • 原文地址:https://www.cnblogs.com/TheJoker/p/7813872.html
Copyright © 2020-2023  润新知