【案例】本案例通过随机数发生器随机产生三条边,要求输出三天边长(边长长度为1~20的整数),并判断是否可以构成一个三角形。
如果可以,则计算出三角形面积,否则输出信息”三条随机的边不能构成三角形“。
【案例目的】(1)掌握运算符与表达式的使用。
(2)使用Math、Random系统中常用方法的使用。
【代码及分析】代码如下:
namespace ConsoleApp2 { class Program { static void Main(string[] args) { Random random1 = new Random(); float a = random1.Next(1, 20); float b = random1.Next(1, 20); float c = random1.Next(1, 20); Console.WriteLine("第一条边长为" + a); Console.WriteLine("第二条边长为" + b); Console.WriteLine("第三条边长为" + c); if ((a + b) > c && (a + c) > b && (b + c) > a) { float q = (a + b + c) / 2; Console.WriteLine("三角形面积为" + Math.Sqrt(q * (q - a) * (q - b) * (q - c))); } else { Console.WriteLine("三角形随机的边不能构成三角形"); } Console.ReadLine(); } } }
运行结果:
分析:(1)本案例运用了关系表达式和算术表达式。
(2)用产生随机数的Reandom类实例化了一个对象,并调用该类的Next()方法随机产生了三条边。
Next():返回一个整数的随机数。
Next(int maxvalue):返回小于指定最大值的正随机数。
Next(int minvalue,int maxvalue):返回大于等于minvalue且小于minvalue的整数随机数。
NextDouble():返回一个0.0-1.0的double精度的浮点随机数。
(3)调用了Math.Sqrt()方法,实现开方运算。
Math类采用的方法:
Math.Abs(数据类型 x):返回x的返回值。
Math.pow(double x,double y):返回x的y次方。
Math.sqrt(double x):返回x的开根号次方。