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()) を 2 回使用したため、期待どおりに動作しません。

最初に入力値を変数に割り当てる必要があります

次に、以下のように if ステートメントで 2 回使用できます。

    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 に答える