首页 > 编程语言 >C#: 三元表达式、质数的判别、随机数的创建、枚举的应用

C#: 三元表达式、质数的判别、随机数的创建、枚举的应用

时间:2022-09-04 16:12:34浏览次数:68  
标签:Console C# Gender 质数 int 枚举 WriteLine QQstate

<iframe frameborder="no" height="86" marginheight="0" marginwidth="0" src="//music.163.com/outchain/player?type=2&id=202369&auto=1&height=66" width="100%"></iframe>

三元表达是的运用:

代码:

Console.WriteLine("请输入第一个数字");
int number1 = Convert.ToInt32(Console .ReadLine ());
Console.WriteLine("请输入第二个数字");
int number2 = Convert.ToInt32(Console.ReadLine());
//注意三元表达式返回的结果与参与运算的数据的类型是一样的,返回的结果是表达式2,或者是表达是3的结果
int number3 = number1 > number2 ? number1 :number2;  //如果计算的结果是真则返回number1的值,否则返回number2 的值
Console.WriteLine(number3 );
Console.ReadKey();

运行结果:

 

 

 

质数的判断:

//质数:只能被1或者是本身整除的数,但是1除外((自己的理解,有误望谅解)。
for (int i = 2; i < 100; i++)
{
bool b = true;

//通过循环,将需要判断的数作为被除数,小于他的每一个数作为除数,判断是否能被整除
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
b = false;
}
}
if (b) //条件输出
{
Console.WriteLine(i);
}
}
Console.ReadLine();

运行结果:

 

 

 随机数的使用:

//产生随机数
Random r = new Random(); //创建一个随机数类的对象
while (true)
{
int rNumber = r.Next(1, 5); //注意:Next左边的数字可以取到,然而右边的数字无法取到
Console.WriteLine("请输入一个姓名");
string name = Console.ReadLine();
switch (rNumber)
{
case 1:
Console.WriteLine("{0}上辈子是一个老师", name);
break;
case 2:
Console.WriteLine("{0}上辈子是一个农名", name);
break;
case 3:
Console.WriteLine("{0}上辈子是一个乞丐", name);
break;
case 4:
Console.WriteLine("{0}上辈子是一个工人", name);
break;
}
Console.ReadKey();
}

运行结果:

 

 

 

 枚举的使用与数据类型的转换:

{ /// <summary>
/// 枚举一般放在命名空间的后面,保证后面的类都可以进行枚举变量的访问
/// 枚举变量与变量的定义是相似的,枚举变量相当与是一种数据类型,是用户自己创建的数据类型
/// 枚举的使用与变量的使用相似: 定义 、赋值、使用
/// </summary>
enum Gender
{
男, //注意这里的分隔符符号是单引号
女 //结束的时候没有分隔符号
}
enum QQstate{
onLine=1,
offLine,
Live,
QMe
}
class Program
{
static void Main(string[] args)
{

#region
////定义枚举变量
//Gender n = Gender.女;
//Console.WriteLine(n);
//Console.ReadKey();
#region 枚举类型和int类型是兼容的,可以互相进行转换,此处枚举类型转换成为int类型
//Gender n1 = Gender.女;
//Gender n2 = Gender.男;
//int number1 = (int )n1;
//int number2 = (int)n2;
////由结果分析可知道,枚举变量的默认值是从0开始的,依次的递增
//Console.WriteLine("number1={0}\tnumber2={1}", number1,number2);
//Console.ReadKey();
#endregion
#region 将整形数据转换成为枚举类型的数据变量
//int number1 = 1;
//int number2 = 0;
//Gender n1 = (Gender)number1;
//Gender n2 = (Gender)number2;
//Console.WriteLine("n1={0}\t n2={1}",n1 ,n2);
//Console.ReadKey();
#endregion
#region 任何类型都可以转换成为字符串的类型
//int number1 = 10;
//char gender = '男';
//decimal money = 5000m; //decimal 不要忘记后面的m符号
//string s1 = number1.ToString();
//string s2 = gender.ToString();
//string s3 = money.ToString();
//Console.WriteLine("s1={0}\t s2={1}\t s3={2} ",s1,s2,s3);
//Console.ReadKey();

#endregion
#region 将字符串类型转换成为枚举类型
//将字符串转换成为枚举类型,如果字符串是数字,转换后不在枚举的范围内,则不会抛出异常
//将字符串转换成为枚举类型,如果字符产不是数字,转换以后又没有在枚举的范围内,那么将会抛出异常

Console.WriteLine("请输入状态: 1--onLine, 2--offLine,3--Leave ,4--QMe");
string input = Console.ReadLine();
switch (input) {
case "1": QQstate s1 = (QQstate)Enum.Parse(typeof(QQstate), input);
Console.WriteLine("你选择的状态为{0}",s1);
break;
case "2": QQstate s2= (QQstate)Enum.Parse(typeof(QQstate), input);
Console.WriteLine("你选择的状态为{0}", s2);
break;
case "3": QQstate s3 = (QQstate)Enum.Parse(typeof(QQstate), input);
Console.WriteLine("你选择的状态为{0}", s3);
break;
case "0": QQstate s4 = (QQstate)Enum.Parse(typeof(QQstate), input);
Console.WriteLine("你选择的状态为{0}", s4);
break;

}
Console.ReadKey();
#endregion
}
}
}

运行结果;

正常运行:

 

 抛出异常的状态:

 

 

 

 

 

 

 

 

标签:Console,C#,Gender,质数,int,枚举,WriteLine,QQstate
From: https://www.cnblogs.com/Nic-zhang/p/16655210.html

相关文章

  • mysql 报错This function has none of DETERMINISTIC解决方案
    本文章向朋友们介绍开启bin-log日志mysql报错:ThisfunctionhasnoneofDETERMINISTIC,NOSQL解决办法,创建存储过程时出错信息:ERROR1418(HY000):Thisfunctionh......
  • 【Azure 存储服务】调用REST API获取Stroage Account Table中所有的Entity计数 -- Cou
    问题描述在StorageAccount的使用中,如果想获取Table中全部Entity的计数以及大小,如果是RESTAPI方式,如何来获取呢? 问题解答在Azure中,所有服务的Metrics部分,都可以通过A......
  • [Go] Types - Reflect.TypeOf()
    Canusereflect.TypeOftogetvariabletypepackagemainimport( "fmt" "reflect")funcmain(){ //varageint=21 //varbbool=age>=23 varage......
  • LeetCode 93 复原 IP 地址
    classSolution{public:vector<string>res;intpointNum;boolisValid(strings,intbegin,intend){if(begin>end)returnfalse;//......
  • Index × A(Not Continuous ver.)
    Index×A(NotContinuousver.)(背包问题)题目大意同Index×A,只是这里的取值可以任意了,但是要有顺序,说白了题目就是要你在一堆数中选出M个数,让这M个数的乘权重后的和......
  • leetcode283-移动零
    https://leetcode.cn/problems/move-zeroes/方法一:双指针法设置两个指针i和j,1classSolution{2public:3voidmoveZeroes(vector<int>&nums){4......
  • JavaDoc注释
    生成API文档时的参数信息@author作者名@version版本号@since最早可使用的jdk版本@param参数名@return返回值@throws抛出异常生成自己的API说明文档使用CMD方......
  • 解决navicat连接mysql数据库报Client does not support..
    解决navicat连接mysql数据库报Clientdoesnotsupport...正在改BUG于2019-11-2521:05:35发布740收藏版权MySQL8.0的加密方式改变了,加密规则是caching_sha2_pas......
  • vscode主题开发
    vscode主题开发教程https://blog.csdn.net/Suwanqing_su/article/details/105945290个人配置结果主题代码到Vscode放插件的目录中随便找一个主题插件点进去到themes文......
  • socket
    #你可以将web框架理解成服务端importsocketserver=socket.socket()#TCP三次握手四次挥手osi七层server.bind(('127.0.0.1',8080))#IP协议以太网协议arp协......