面向对象第一次练手-------ArrayList集合、类、对象、冒泡排序、类型转换
思维转不过弯儿来 怎么做都是错 哪怕差一个()就成功的事情,也是千差万别
忽然想到一句话:差一步就成功的距离 = 差几万米就成功的距离
部分的理解和都体现在代码和注释里
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集合、类、对象、冒泡排序、类型转换的更多相关文章
- Arraylist集合、对象数组
Arraylist集合 ArrayList是List接口的一个实现类,它是程序中最常见的一种集合. 他的特点:在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作,Ar ...
- WEBGL学习笔记(七):实践练手1-飞行类小游戏之游戏控制
接上一节,游戏控制首先要解决的就是碰撞检测了 这里用到了学习笔记(三)射线检测的内容了 以鸟为射线原点,向前.上.下分别发射3个射线,射线的长度较短大概为10~30. 根据上一节场景的建设,我把y轴设 ...
- springmvc关于前台日期作为实体类对象参数类型转换错误
页面报错: 后台错误: Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [ty ...
- Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类
一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...
- Java基础六(自定义类、ArrayList集合)
今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...
- 06_Java基础语法_第6天(自定义类、ArrayList集合)_讲义
今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java ...
- Java基础语法(自定义类、ArrayList集合)
Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...
- java基础(7):自定义类、ArrayList集合
1. 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好 ...
- JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)
1.final关键字和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类.方法.写法规范:常量所有字母都大写,多个单词中间用 "_"连接. 2.遍历集合A ...
随机推荐
- Percona Xtradb Cluster的设计与实现
Percona Xtradb Cluster的设计与实现 Percona Xtradb Cluster的实现是在原mysql代码上通过Galera包将不同的mysql实例连接起来,实现了multi ...
- 在 Windows 上创建虚拟机规模集和部署高度可用的应用
利用虚拟机规模集,可以部署和管理一组相同的.自动缩放的虚拟机. 可以手动缩放规模集中的 VM 数,也可以定义规则,以便根据资源使用情况(如 CPU 使用率.内存需求或网络流量)进行自动缩放. 在本教程 ...
- 解决mysql日志显示时间和“Got an error reading communication packets” 问题
[root@calldb3 data]# tail -f mysql.error :.884160Z to db: 'calldb' user: 'call' host: '172.31.50.220 ...
- logger.error完整打印错误堆栈信息
所以我们的写法可以是: Logger.error("xxx出错" , e); //第二个参数是e 而不是: Logger.error("xxx出错:" + e) ...
- linux下取IP(正则)
linux下取IP(正则) 常见方法: ifconfig eth0|grep "inet addr"|awk -F ":" '{print $2}'|awk ' ...
- C语言short int
因为C语言中short int占2个字节,有16个二进制位,共可表示2^16种状态.因为它用来表示有符号数,而0也要占用一个状态.所以,16位的原码可以表示的数是-32767~+32767,它的0可以 ...
- Android5.0中Material Design的新特性
最近项目中需要用到Material Design,整理了下面几个常用的控件,以便记忆. 一.Snackbar 1.作用:与Toast类似,但是可以点击监听: 2.使用: (1)Snackbar调用静态 ...
- 模拟的confirm
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...
- Beta阶段第四次冲刺
Beta阶段第四次冲刺 严格按照Git标准来,组员有上传Git的才有贡献分没有的为0 代码签入图 1.part1 -站立式会议照片 2.part2 -项目燃尽图 3.part3 -项目进展 1.正在进 ...
- 阿里八八Alpha阶段Scrum(9/12)
今日进度 叶文滔: 成功完成多级悬浮按钮,并添加与日程输入界面的连接.debug了一些对接产生的问题 黄梅玲: 合并单日项目至多日.获取json数据 王国超: 完成了初步的多日界面,pull至项目.进 ...