突然瑞纳求C#大神编写下列程序,用VS2010第1个回答:mi_new2013-04-16TA获得超过62

第1个回答:

mi_new2013-04-16TA获得超过6264个赞关注staticvoidMain(string[]args){//RollDice();//TestEquation();DoubleCircle();Console.ReadLine();}以上为主程序调用的方法,我分别将你的题目写在上面的方法里.题目一:privatestaticvoidRollDice(){Dicedice=newDice();Console.WriteLine("初始化的值{0}",dice.GetFaceValue());dice.Roll();Console.WriteLine("滚动骰子后的值{0}",dice.GetFaceValue());dice=newDice(6);Console.WriteLine("初始化的值{0}",dice.GetFaceValue());dice.Roll();Console.WriteLine("滚动骰子后的值{0}",dice.GetFaceValue());}Dice类如下:publicclassDice{privateintfaceValue;privateRandomrandom=newRandom();publicDice(){}publicDice(intp){this.faceValue=p;}publicintGetFaceValue(){returnfaceValue;}publicvoidRoll(){//这个可以注释,为了使随机数延时生成不同的的数字System.Threading.Thread.Sleep(10);faceValue=random.Next(1,6);}}题目2:privatestaticvoidTestEquation(){stringstrInput=string.Empty;doublea=0,b=0,c=0;while(!TestInputNum(strInput,refa,refb,refc)){Console.WriteLine("请输入三个数字abc,保a!=0,b*b?**a*c>0,用空格分开:");strInput=Console.ReadLine();}Equationqu=newEquation(a,b,c);Console.WriteLine("第一个根:{0}",qu.GetFirstRoot());Console.WriteLine("第二个根:{0}",qu.GetSecondRoot());}TestInputNum方法:privatestaticboolTestInputNum(stringstrInput,refdoublea,refdoubleb,refdoublec){if(!string.IsNullOrEmpty(strInput)&&strInput.Split('').Length==3){string[]strs=strInput.Split('');//条件if(double.TryParse(strs[0],outa)&&double.TryParse(strs[1],outb)&&double.TryParse(strs[2],outc)){if(a!=0&&b*b-4*a*c>0){returntrue;}elseConsole.WriteLine("无根");}elseConsole.WriteLine("输入不是数字");}returnfalse;}Equation:publicclassEquation{privatedoublea;privatedoubleb;privatedoublec;privatedoubledel;publicEquation(){}publicEquation(doublea,doubleb,doublec){this.a=a;this.b=b;this.c=c;this.del=b*b-4*a*c;}publicdoubleGetFirstRoot(){return(-b+Math.Sqrt(del))/(2*a);}publicdoubleGetSecondRoot(){return(-b-Math.Sqrt(del))/(2*a);}}题目三(这个问题有漏洞,需求和你截图的输出结果不一样,我是按照你需求来写的):privatestaticvoidDoubleCircle(){intx=3;Circlec=newCircle();c.Radius=5;Helperh=newHelper();x=h.DoubleMe(x);c.Radius=h.DoubleMe(c);Console.WriteLine("OutdoubleMe:x={0}",x);Console.WriteLine("OutdoubleMe:半径={0}",c.Radius);}Circle类:publicclassCircle{publicintRadius{get;set;}}Helper类(自己再加工下):publicclassHelper{///<summary>///是把参数x(值类型)的值增加一倍///</summary>///<paramname="x"></param>publicintDoubleMe(intx){returnx*2;}///<summary>///把参数c(引用类型)所代表的圆对象的半径增加一倍///</summary>///<paramname="c"></param>publicintDoubleMe(Circlec){returnDoubleMe(c.Radius);}}