0

我写了这个但它不起作用,有什么想法我哪里出错了吗?是的,我是编程新手。在此先感谢您的任何建议。

if ((int.Parse(Console.ReadLine()) < 10) && (int.Parse(Console.ReadLine()) > 0))
    Console.WriteLine("The right number!!");
else
    Console.WriteLine("The wrong number!!");

Console.ReadLine();
4

3 回答 3

5

它没有像您预期的那样工作,因为 if 语句的编写方式是期望从控制台读取 2 行文本(因为您已经使用了 Console.ReadLine())两次。

您应该首先将输入值分配给变量

然后可以在 if 语句中使用两次,如下所示:

    int inputNumber = int.Parse(Console.ReadLine());

if(inputNumber < 10 && inputNumber > 0)
{
    Console.WriteLine("The right number!!");
}
else
{
    Console.WriteLine("The wrong number!!");
}
于 2012-11-12T11:39:33.880 回答
3

如果您只想读取 1 个输入,请尝试以下操作:

int number = int.Parse(Console.ReadLine());

if (number > 0 && number < 10) {
    Console.WriteLine("The right number!!");
} else {
    Console.WriteLine("The wrong number!!");
}

Console.ReadLine();

这是因为在您的示例中Console.ReadLine(),您的代码都要求输入。

于 2012-11-12T11:37:51.337 回答
2

你为什么不这样做:

var input = Console.ReadLine();
int number;

if (int.TryParse(input, out number))
{
    if (number > 0 && number < 10)
        Console.WriteLine("The right number!!");
    else
        Console.WriteLine("The wrong number!!");
}

int.TryParse在语句中使用,if以确保在获得正确的整数输入后输入。

于 2012-11-12T11:34:52.997 回答