/**
这是我写的第一个c#程序,程序没错,但运行结果却不尽人意,问题出在哪了,我也不知道,调试了近半天,也没发现什么纰漏,希望看见这个小程序的朋友
帮帮忙,找一找其中的BUG吧,必感激不尽!求回复啊
******/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace GuessFigure
{
class TestCompare
{
static void Main(string[] args)
{
//设置正则表达式 匹配所有字符都为数字
Regex reg = new Regex("^\\d+$");
//实现了比较数字的功能类
CompareFigure cp = new CompareFigure();
//检验猜测数字是否合法
bool IstrueFormmar = false;
//猜测是否成功的标志
int GuessIstrue;
//目标数字和猜测数字
int TargetNumber ;
int GuessNumber;
//产生随机数
//Random r = new Random();
//TargetNumber = r.Next(100);
//验证数字的合法性,调用cp中的实例方法,检测游戏的状态
while (true)
{
System.Console.WriteLine("请输入你要猜测的整数:");
GuessNumber = Convert.ToInt32(Console.ReadLine());
//异常的捕获
try
{
//正则匹配,校验输入的合法性
IstrueFormmar = reg.IsMatch(GuessNumber.ToString());
}
catch (Exception e)
{
e.GetBaseException();
}
//进行数字的比较
GuessIstrue = cp.CompareGuessAndTarget(TargetNumber, GuessNumber, IstrueFormmar);
/**
if (GuessIstrue == 0)
{
System.Console.WriteLine("测猜数字格式不正确,请重新输入!");
continue;
}
else if (GuessIstrue == 1)
{
System.Console.WriteLine("猜测数字偏小,请重新猜测!");
continue;
}
else if (GuessIstrue == 2)
{
System.Console.WriteLine("猜测数字偏大,请重新猜测!");
continue;
}
else
{
System.Console.WriteLine("恭喜你,猜测正确!");
break;
}
****/
switch (GuessIstrue)
{
case 0:
System.Console.WriteLine("测猜数字格式不正确,请重新输入!");
break;
case 1:
System.Console.WriteLine("猜测数字偏大,请重新猜测!");
break;
case 2:
System.Console.WriteLine("猜测数字偏小,请重新猜测!");
break;
case 3:
System.Console.WriteLine("恭喜你,猜测正确!");
break;
}
if (GuessIstrue == 3)
{
//睡眠一定时间,观察分析结果
System.Threading.Thread.Sleep(5000);
break;
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace GuessFigure { class CompareFigure { public CompareFigure() { } public int CompareGuessAndTarget(int TargetNumber, int GuessNumber, bool IstrueFormmar) { if (IstrueFormmar == false) { return 0; } else if (TargetNumber < GuessNumber) { return 1; } else if (TargetNumber > GuessNumber) { return 2; } else { return 3; } } } }