zoukankan      html  css  js  c++  java
  • 面向对象第一次练手-------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 }

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

  • 相关阅读:
    leetcode 268. Missing Number
    DBSCAN
    python二维数组初始化
    leetcode 661. Image Smoother
    leetcode 599. Minimum Index Sum of Two Lists
    Python中的sort() key含义
    leetcode 447. Number of Boomerangs
    leetcode 697. Degree of an Array
    滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(1月3日)
    北京Uber优步司机奖励政策(1月2日)
  • 原文地址:https://www.cnblogs.com/TheJoker/p/7813872.html
Copyright © 2011-2022 走看看