namespace While迭代语句
{
class MainClass
{
public static void Main(string[] args)
{
bool displayMenu = true;//可以选择运行MainMenu后是否留在控制台
while (displayMenu)
{
displayMenu= MainMenu();
}
}
private static bool MainMenu()
{
Console.Clear();//清屏
Console.WriteLine("Choose an option:");
Console.WriteLine("1) Print Numbers");
Console.WriteLine("2) Guessing Game");
Console.WriteLine("3) Exit");
string result = Console.ReadLine();
if (result == "1")
{
PrintNumbers();//调用方法1
return true;
}
else if (result == "2")//调用方法2
{
GuessingGame();
return true;
}
else if (result == "3")//结束控制台
{
return false;
}
else
{
return true;
}
}
private static void PrintNumbers()//方法1
{
Console.Clear();//清屏
Console.WriteLine("Print numbers");
Console.Write("Type a number:");
int result = int.Parse(Console.ReadLine());
int counter = 1;
while (counter<result+1)
{
Console.Write(counter);
Console.Write("-");
counter++;
}
Console.ReadLine();
}
private static void GuessingGame()//方法2
{
Console.Clear();
Console.WriteLine("Guessing game!");
Random myRandom = new Random();
int randomNumber = myRandom.Next(1,11);
//此情况可以直接写成myRandom.Next(11)
//经过多次运行验证.Next(1,11)实际为【1,11)的开闭区间
int guesses = 0;
bool incorrect = true;
do
{
Console.WriteLine("Guess a number between 1 and 10:");
string result = Console.ReadLine();
guesses++;
if (result == randomNumber.ToString())
//因为randomNumber错写成myRondom找了半小时的bug!
{
Console.WriteLine("猜对了!你猜了{0}次",guesses);//我想到的是在这里输出
incorrect = false;
}
else
Console.WriteLine("Wrong!");
} while (incorrect);
Console.WriteLine("Correct! It took you {0} guesses.",guesses);
Console.ReadLine();
}
}
}