0

この単純なプログラムは、整数を入力して出力しますが、60 が表示されると出力を停止します。

        string input = string.Empty;
        int intValue = 0;
        int[] numbers = new int[5];

        for (int i = 0; i < 4; i++)
        {
            input = Console.ReadLine();
            if (int.TryParse(input, out intValue))
                numbers[i] = intValue;
        }

        for (int i = 0; i < numbers.Length; i++)
        {
            while (numbers[i] != 60)
            {
                Console.WriteLine(intValue);
            }
        }

プログラムは、そのような 4 番目の入力の後、無限ループに入ります 入力: 1 2 3 4 4 4 4 4 4 ... など

理由がわかりません(^_^;)

4

2 に答える 2

5
while (numbers[i] != 60)
{
    Console.WriteLine(intValue);
}

次のようにする必要があります。

if (numbers[i] != 60)
{
    Console.WriteLine(intValue);
}
于 2012-11-23T17:12:36.857 に答える
0

文字列入力 = string.Empty;

    int intValue = 0;
    int[] numbers = new int[5];

    for (int i = 0; i < 4; i++)
    {
        input = Console.ReadLine();
        if (int.TryParse(input, out intValue))
            numbers[i] = intValue;
    }

    for (int i = 0; i < numbers.Length; i++)
    {
        /*while (numbers[i] != 60)*/
        if (numbers[i] != 60)  // it should be if condition, while statement made it infinite
        {
            Console.WriteLine(intValue);
        }
    }
于 2012-11-24T20:34:22.580 に答える