C#-类-string/Manth/Random/DateTime-及练习
类
一、string类:
.Length 字符串的长度
.Trim() 去掉开头以及结尾的空格
.TrimStart() 去掉开头的空格
.TrimEnd() 去掉结尾的空格
.ToLower() 全部转换为小写
.ToUpper() 全部转换为大写
.Substring(m,n) 从m位开始截取n长度的字符串
.Substring(m) 从m位开始截取至字符串结尾
.IndexOf("字符串") 返回第一次出现该字符串的索引
.LastIndexOf("字符串") 返回最后一次出现该字符串的索引
.StartsWith("字符串") 是否以该字符串开头,返回ture或false
.EndsWith("字符串") 是否以该字符串结束,返回ture或false
.Contains("字符串") 是否包含此字符串,返回ture或false
.Replace("新词","老词") 用新词替换老词
二、Math类
Ceiling() 取上线
Floor() 取下线
Math.PI 圆周率
Math.Sqrt() 平方根
Math.Round() 四舍五入(奇数.5-上位,偶数.5-舍去)
Math.Abs() 绝对值
Math.Pow(m,n) 返回m的n次方
Math.Max(m,n) m与n两者取大
三、Random类(随机数类)
Random a = new Random();//初始化,实例化(不可以放在循环当中)
Console.WriteLine(a.Next());//Next()非负随机数,1.m>=0 2.0<=m<x 3.x<=m<y
四、DateTime类
注意:在使用前需要先初始化一遍
Datetime dt = new Datetime();
若获取当前时间可以不用初始化
Datetime dt = Datetime.Now;//获取当前时间,运行词语时的本地时间
dt.Year 获取年份
dt.Month 获取月份
dt.Day 获取日
dt.Hour 获取小时
dt.Minute 获取分
dt.Second 获取秒
DayOfWeek d = dt.DayOfWeek;//获取日期为星期几
DayOfYear tian = dt.DayOfYear;//返回今年的第n天
string s = dt.ToString("yyyy年MM月dd日hh时mm分ss秒");//用字符串的形式显示时间。
yyyy,MM,dd,hh,mm,ss为占位符
DateTime可以增加或减去相应的时间
string s = Console.ReadLine();
DateTime dt = new DateTime();
dt = DateTime.Parse(s);
System.TimeSpan time = new TimeSpan();//TimeSpan是一个时间间隔类型
dt = dt.Add(time);//参数是TimeSpan类型
dt = dt.AddDays(1.5);//加1.5天
dt = dt.AddYears(2);//加2年
练习:
1、//生成一个由大小写及数字组成的验证码
//随机生成一个四个字符长度的验证码,输出一下
//让用户对比输入
//正确输出【输入正确】不正确输出【输入有误】
string zu = "ABCDEFGHIJKLMNOPQRST0123456789";//定义一个包含所有选项的字符串
int changdu = zu.Length;//计算这个字符串的长度
Random ran = new Random();//定义一个随机数ran
int x = ran.Next(changdu);//随机数ran的范围是chagndu,从中随机抽取一个
string a = zu.Substring(x, 1);//从zu字符串中截取一个字符,这个字符是从x位开始长度为1的字
符
int y = ran.Next(changdu);
string b = zu.Substring(y, 1);
int z = ran.Next(changdu);
string c = zu.Substring(z, 1);
int o = ran.Next(changdu);
string d = zu.Substring(o, 1);
string yzm = a + b + c + d;
Console.WriteLine("验证码为:" + yzm);
Console.Write("请输入你所获取的验证码:");
string sryzm = Console.ReadLine().ToUpper();
if (sryzm == yzm)
{
Console.WriteLine("验证码输入正确,正在登入中...");
}
else
{
Console.WriteLine("验证码输入有误。");
}
2、//玩家与计算机玩剪刀石头布的游戏
//剪刀-1 石头-2 布-3
for (; ; )
{
Console.Write("剪刀石头布,你要出哪个?");
string x = Console.ReadLine();
int xx = 0;
if (x == "剪刀" || x == "石头" || x == "布")
{
if (x == "剪刀")
{
xx = 1;
}
else if (x == "石头")
{
xx = 2;
}
else if (x == "布")
{
xx = 3;
}
Random y = new Random();
int yy = y.Next(1, 4);
string z = "1";
if (yy == 1)
{
z = "剪刀";
}
if (yy == 2)
{
z = "石头";
}
if (yy == 1)
{
z = "布";
}
Console.WriteLine("你出的是" + x);
Console.WriteLine("计算机出的是" + z);
if (xx - yy == 0)
{
Console.WriteLine("我们是平手。");
}
else if (xx - yy == 1 || xx - yy == -2)
{
Console.WriteLine("恭喜你获得胜利!");
}
else
{
Console.WriteLine("很遗憾计算机获得胜利!");
}
}
else
{
Console.WriteLine("你的输入有误");
}
Console.WriteLine();
}
3///输入一个四位数的金额,将其转换为汉字大写
Console.Write("请输入一个四位数的金额:");
int j = int.Parse(Console.ReadLine());
if (j >= 1000 && j <= 9999)
{
string je = j.ToString();
string dx = "仟佰拾元零壹贰叁肆伍陆柒捌玖";
string s2 = "", s3 = "", s4 = "";
s2 = je.Substring(1, 1);
s3 = je.Substring(2, 1);
s4 = je.Substring(3, 1);
string m = "";
string n = "";
if (s2 == "0" && s3 == "0" && s4 == "0")
{
int a = int.Parse(je.Substring(0, 1));
m = dx.Substring(a + 4, 1);
n = dx.Substring(0, 1);
Console.WriteLine("您输入的金额为:" + m + n + "元。");
}
else if (s2 == "0" && s3 == "0" && s4 != "0")
{
int a = int.Parse(je.Substring(0, 1));
m = dx.Substring(a+4,1);
n = dx.Substring(0, 1);
int b = int.Parse(je.Substring(3, 1));
string c = dx.Substring(b+4,1);
Console.WriteLine("您输入的金额为:" + m + n + "零" + c + "元。");
}
else if (s2 != "0" && s3 == "0" && s4 == "0")
{
Console.Write("您输入的金额是:");
for (int i = 0; i < 2; i++)
{
int a = int.Parse(je.Substring(i, 1));
m = dx.Substring(a + 4, 1);
n = dx.Substring(i, 1);
Console.Write(m + n);
}
Console.WriteLine("元。");
}
else
{
Console.Write("您输入的金额是:");
for (int i = 0; i < 4; i++)
{
int a = int.Parse(je.Substring(i, 1));
m = dx.Substring(a + 4, 1);
if (a != 0)
{
if (i != 3)
{
n = dx.Substring(i, 1);
}
else
{
n = "";
}
}
else
{
if (i == 3)
{
m = "";
}
n = "";
}
Console.Write(m + n);
}
Console.Write("元。");
Console.WriteLine();
}
}
else
{
Console.WriteLine("您输入的金额有误。");
}
C#-类-string/Manth/Random/DateTime-及练习的更多相关文章
- 类-string/Manth/Random/DateTime-及练习
类一.string类:.Length 字符串的长度 .Trim() 去掉开头以及结尾的空格.TrimStart() 去掉开头的空格.TrimEnd() 去掉结尾的空格 .ToLower() 全部转换为 ...
- python----常用模块(random,string,time&datetime,os,sys,xpinyin(拼音))
一.模块.包 1.1 什么是模块 在python中,一个.py文件就构成一个模块,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 1.2 什么是包 ...
- 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
高并发分布式系统中生成全局唯一(订单号)Id 1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...
- C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)
在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结.一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string ...
- 字符串string类型转换成DateTime或DateTime?类型
常用的Convert.ToDateTime方法 //将含有正确日期格式的string类型转换成DateTime类型 string strDate = "2014-08-01"; D ...
- C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;
ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口: 2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...
- JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类
字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...
- Random类和Math.random()方法
一.Random类的定义Random类位于 java.util 包中,主要用于生成伪 随机数Random类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关创建Rand ...
- 编写类String的构造函数、析构函数和赋值函数
已知类String的原型为: class String { public: String(const char *str = NULL); // 普通构造函数 String(const Str ...
随机推荐
- Halcon中xld的常见特征的含义总结
如下图:
- 在Qt(C++)中使用QThread实现多线程
1. 引言 多线程对于需要处理耗时任务的应用很有用,一方面响应用户操作.更新界面显示,另一方面在"后台"进行耗时操作,比如大量运算.复制大文件.网络传输等. 使用Qt框架开发应用程 ...
- CSGL
glShadeModel void glShadeModel(GLenum mode) GL_FLAT/[GL_SMOOTH] 着色技术选择 glClearDepth GL.glClearDepth( ...
- parseInt(string, radix)
参数 描述 string 必需.要被解析的字符串. radix 可选.表示要解析的数字的基数.该值介于 2 ~ 36 之间. 如果省略该参数或其值为 0,则数字将以 10 为基础来解析.如果它以 “0 ...
- nohup、&、setsid、fork和fg、bg究竟有啥区别?
目录 目录 1 1. 名词解释 1 2. 什么是守护进程? 2 2.1. 后台运行 2 2.2. 解释关系 2 3. 以"&"方式运行有何问题? 2 4. fork 2 5 ...
- dojo学习(一)入门
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- jmeter 性能分析 (一点点加)
1.聚合报告 我们可以看到,通过这份报告我们就可以得到通常意义上性能测试所最关心的几个结果了. Samples -- 本次场景中一共完成了多少个Transaction Average -- 平均响应时 ...
- 23 DesignPatterns学习笔记:C++语言实现 --- 1.1 Factory
23 DesignPatterns学习笔记:C++语言实现 --- 1.1 Factory 2016-07-18 13:03:43 模式理解
- Python + selenium + unittest装饰器 @classmethod
前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这样就会浪费很多时间. 于是就想是不是可以 ...
- Open XML操作Excel导入数据
项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...