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

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

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

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 面向对象初步练手
{
class Student
{ // 请输入学生数量:10 //请输入第1个学生的姓名:sdf
//请输入第1个学生的性别:男
//请输入第1个学生的成绩:0~100 (不在这个范围之内,算作0分)
//...
//... //========学生信息展示=========
//名次 姓名 性别 成绩
//1 张三 男 99
//2 李四 女 90
//...
//...
#region 封装 姓名
private string _Name; public string Name
{
get { return _Name; }
set { _Name = value; }
}
#endregion #region 封装 性别
private bool _Sex; public bool Sex
{
get { return _Sex; }
set { _Sex = value; }
}
public string Sexstr
{
get { return _Sex ? "男" : "女"; }
set
{
if (value == "男")
_Sex = true;
else
_Sex = false;
}
}
#endregion #region 封装 成绩
private int _Degree; public int Degree
{
get { return _Degree; }
set {
if (value >= && value <= )
{
_Degree = value;
}
else
{
_Degree = ;
}
}
}
#endregion }
}
 using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 面向对象初步练手
{
class Program
{
static void Main(string[] args)
{ // 请输入学生数量:10 //请输入第1个学生的姓名:sdf
//请输入第1个学生的性别:男
//请输入第1个学生的成绩:0~100 (不在这个范围之内,算作0分)
//...
//... //========学生信息展示=========
//名次 姓名 性别 成绩
//1 张三 男 99
//2 李四 女 90
//...
//... //创建集合(集合就是个带有标记的大房间)
34 ArrayList stu = new ArrayList(); Console.Write("请输入学生数量:");
int stucount = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(); for (int i = ; i <= stucount; i++)
{
//把student类 实例化 成一个实际的对象(把人类这个虚构的一个想法,实例化成一个真正的人 人有姓名、性别、成绩这些属性 )
Student s = new Student();
Console.Write("请输入第" + i + "个学生的姓名:");
//给这个人(this这个人)姓名这个属性给附上值
s.Name = Console.ReadLine(); Console.Write("请输入第" + i + "个学生的性别:");
s.Sexstr = Console.ReadLine(); Console.Write("请输入第" + i + "个学生的成绩:");
s.Degree = Convert.ToInt32(Console.ReadLine()); //把这个人(这个人带着这些被赋值的 属性)放入到带有标记的大房间里
stu.Add(s);
Console.WriteLine(); } //冒泡排序 for (int i = ; i < stu.Count; i++)
{
for (int j = i + ; j < stu.Count; j++)
{
if (((Student)stu[i]).Degree < ((Student)stu[j]).Degree)
71 {
72 object temp = stu[i];
73 stu[i] = stu[j];
74 stu[j] = temp;
}
}
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine(" ========学生信息展示=========");
Console.WriteLine();
Console.WriteLine(" 名次  姓名  性别  成绩");
Console.WriteLine(); //遍历ArrayList stu这个集合,然后输出
int count = ;
foreach (object a in stu)
{
Student s = (Student)a; Console.WriteLine("  " + count + "   " + s.Name + "   " + s.Sexstr + "   " + s.Degree);
Console.WriteLine();
count++;
} Console.ReadLine();
}
}
}

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

面向对象第一次练手-------ArrayList集合、类、对象、冒泡排序、类型转换的更多相关文章

  1. Arraylist集合、对象数组

    Arraylist集合 ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. 他的特点:在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作,Ar ...

  2. WEBGL学习笔记(七):实践练手1-飞行类小游戏之游戏控制

    接上一节,游戏控制首先要解决的就是碰撞检测了 这里用到了学习笔记(三)射线检测的内容了 以鸟为射线原点,向前.上.下分别发射3个射线,射线的长度较短大概为10~30. 根据上一节场景的建设,我把y轴设 ...

  3. springmvc关于前台日期作为实体类对象参数类型转换错误

    页面报错: 后台错误: Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [ty ...

  4. Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类

    一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...

  5. Java基础六(自定义类、ArrayList集合)

    今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...

  6. 06_Java基础语法_第6天(自定义类、ArrayList集合)_讲义

    今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java ...

  7. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

  8. java基础(7):自定义类、ArrayList集合

    1. 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好 ...

  9. JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)

    1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...

随机推荐

  1. SQLSERVER 分区表实战

    背景:对NEWISS数据库创建分区表T_SALES的SQL.按照日期来进行分区步骤:1:创建文件组2:创建数据文件3:创建分区函数4:创建分区方案5:创建表及聚集索引6:导入测试数据(此处略),并查询 ...

  2. 关于QT的QCombox的掉坑出坑

    最近项目中开发在用到QCombox,然而在开发中,踩到了一个坑,花了一个晚上,一直在想,好在最后找到问题所在了. 这是业务的流程.直接说重点:QCombox在下拉窗更新数据的时候,会默认把下拉窗的第一 ...

  3. Windows 软件推荐大全【all】

    FastStone: 视频下载王: IDE: FinalShell:   免费海外服务器远程桌面加速,ssh加速,双边tcp加速,内网穿透.FinalShell使用---Xshell的良心国产软件 P ...

  4. MYSQL导入csv类型的数据出现The MySQL server is running with the --secure-file-priv option

    今天尝试使用 into outfile导出数据的时候出现错误: The MySQL server is running with the --secure-file-priv option so it ...

  5. 阿里八八Alpha阶段Scrum(5/12)

    今日进度 叶文滔: 与添加日程界面完成界面对接. 问题困难:发现浮动按钮拖曳存在BUG,无法正确判断拖曳与点击事件,已经修复为普通悬浮按钮. 林炜鸿: 绘制完成添加日程界面. 李嘉群: 1.尝试有关用 ...

  6. JQuery 学习笔记-2017.05.22

    JQuery jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效 ...

  7. [工具]iperf测试带宽

    之前被要求测试网卡带宽能力,发现了iperf这个工具,记录下来防止遗忘. iperf是个开源跨平台测试带宽工具,windows.linux.macOS--都支持,安装也挺方便. 1.安装 地址:htt ...

  8. MetaMask/provider-engine-1

    https://github.com/MetaMask/provider-engine 在学习这个之前应该先看一下什么是zero-client,MetaMask/zero-client Web3 Pr ...

  9. linux服务器关闭ipv6 方法

    第一个文件: /etc/sysconfig/network 第二个文件:如无此文件,vim添加 /etc/modprobe.d/disable_ipv6.conf

  10. 利用jenkins打造通过自定义参数更新svn 指定文件任务

    jenkin可以执行很多构建任务,有时候我们需要在执行构成中同构shell对服务器进行操作而且还需要进行参数的传入 比如:我要利用svn进行本地代码的更新,单又不是所有代码的更新,只更新指定的1个或这 ...