我是C#的新手。我想用一些类型的循环做一个简单的程序。 我希望我的程序遍历用户输入的数字,如果它少于一个数字然后写入继续猜测,但一旦他们输入数字25我想要它说圣诞快乐..请帮助
int number;
do
{
Console.WriteLine("Guess a number between 20 through 25");
number = int.Parse(Console.ReadLine());
} while (number < 25);
C#初学者
答案 0 :(得分:6)
尝试以下方法:
int number = 0;
while (number != 25)
{
Console.WriteLine("Guess a number between 20 through 25");
number = int.Parse(Console.ReadLine());
if (number != 25)
Console.WriteLine("Keep guessing");
else
Console.WriteLine("Merry Christmas");
}
答案 1 :(得分:2)
我不确定你的问题是什么,但我有几条评论:
如果用户输入无法解析为int的内容,则会引发异常。使用TryParse修复此问题。
如上所述,如果用户输入的数字大于25,则循环将退出,例如26。
修改后的代码:
int number;
do
{
Console.WriteLine("Guess a number between 20 through 25");
int.TryParse(Console.ReadLine(), out number);
} while (number != 25);
答案 2 :(得分:2)
如果您永远不会将输入用作数字,那么只需将其保留为字符串就更安全了,特别是因为您只是准确地检查“25”。 此外,添加一种退出方式而不输入25对用户来说会很好,例如输入一个空白行。
以下是我的写作方式:
static void x() { Console.WriteLine("Guess a number between 20 through 25"); string input = null; while(true) { input = Console.ReadLine(); if (input == null || input.Length == 0) break; // will exit the loop if (input != "25") Console.WriteLine("Keep guessing"); else { Console.WriteLine("Merry Christmas"); break; } } }
答案 3 :(得分:1)
int number;
do
{
Console.WriteLine("Guess a number between 20 through 25");
number = int.Parse(Console.ReadLine());
} while (number < 25);
if (number == 25)
Console.WriteLine("Merry Christmas");
答案 4 :(得分:0)
int number;
do
{
Console.WriteLine("Guess a number between 20 through 25");
number = int.Parse(Console.ReadLine());
} while (number != 25);
Console.WriteLine("Merry Christmas");
如果您希望他们能够输入高于25的数字,那将是正确的。
答案 5 :(得分:0)
int myNumber;
Guess: Console.Write("Guess a number between 20 through 25: ");
myNumber = int.Parse(Console.ReadLine());
while(myNumber != 25)
{
Console.WriteLine("Keep Guessing");
goto Guess;
}
Console.Write("Merry Christmas");
Console.ReadKey();