1. 程式人生 > >面向對象第一次練手-------ArrayList集合、類、對象、冒泡排序、類型轉換

面向對象第一次練手-------ArrayList集合、類、對象、冒泡排序、類型轉換

arraylist for 一句話 class new each 註釋 program bsp

思維轉不過彎兒來 怎麽做都是錯 哪怕差一個()就成功的事情,也是千差萬別

忽然想到一句話:差一步就成功的距離 = 差幾萬米就成功的距離

部分的理解和都體現在代碼和註釋裏

 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 }

標紅和註釋的是最讓我昨天昨晚最頭疼的 以至於敲到最後自己能很明顯的感覺到腦子轉不動了,實在是轉不動了 打個比方:要拿起杯子喝水,杯子拿起來了,不知道怎麽喝水了,不知道怎麽張嘴了,還會傻呵呵的問“喝水該怎麽喝,該怎麽張嘴”

面向對象第一次練手-------ArrayList集合、類、對象、冒泡排序、類型轉換