1
int i;
int[] mArray = new int[5];

for (i = 0; i < mArray.Length; i++)
{
    Console.WriteLine("Please enter a number:");
    mArray[i] = Convert.ToInt32(Console.ReadLine());

    if (mArray[i] >= 50 && mArray[i] <= 10)
    {
        Console.WriteLine("Please enter numbers only between 10 and 50.");
        mArray[i] = Convert.ToInt32(Console.ReadLine());
    }

}

2つのルールが含まれている場合、ifステートメントが機能するようには見えません if (mArray[i] >= 50 && mArray[i] <= 10)

ただし、1つのルールで正常に機能しますif (mArray[i] >= 50)

4

7 に答える 7

5

||代わりに使用する必要があります&&

mArray[i] >= 50 || mArray[i] <= 10 
于 2013-02-21T08:00:13.803 に答える
4

あなたの状態を見てください:

if (mArray[i] >= 50 && mArray[i] <= 10)

あなたは同時に少なくとも50最大10である数を見つけようとしています。

無効と見なされる数を念頭に置いていましたか?

私はあなたが意味したと思う:

if (mArray[i] > 50 || mArray[i] < 10)

私はあなたのメッセージに一致するようにとをそれぞれに変更>=したことに注意してください-私はあなたが10または50を有効にしたいと思っていると思います。<=><

また、有効性のテストは1回だけであることに注意してください。ユーザーが2番目の不正な番号を入力し続ける場合は、それを受け入れます。私はあなたが次のようなものが欲しいと思う:

Console.WriteLine("Please enter a number:");
int value = Convert.ToInt32(ConsoleReadLine());

while (value > 50 || value < 10)
{
    Console.WriteLine("Please enter numbers only between 10 and 50.");
    value = Convert.ToInt32(Console.ReadLine());
}
// Now we know it's valid, so it's reasonably to put it in the array
mArray[i] = value;
于 2013-02-21T08:00:47.367 に答える
4

50より大きく、同時に10より小さい数はどれですか?&&(AND)を||に置き換える必要があると思います (また)

于 2013-02-21T08:01:42.213 に答える
3

50より大きく10より小さい数字は使用できません。条件が間違っています:

if (mArray[i] >= 50 && mArray[i] <= 10)

そのはず

if (mArray[i] >= 50 || mArray[i] <= 10)
于 2013-02-21T08:01:34.197 に答える
3

それはあなたがそれをどのように機能させるつもりかによります

/*Pass if the value is more or equal 50 OR lesst or equal 10*/
mArray[i] >= 50 || mArray[i] <= 10 

また

/*Passs if the value is between 10 and 50, including edges*/
mArray[i] >= 10 && mArray[i] <= 50 
于 2013-02-21T08:02:24.237 に答える
2

あなたの発言は不可能です。myArray[i]50より大きく10より小さい必要があります。つまり、次のようになります。

if (mArray[i] >= 50 || mArray[i] <= 10)

于 2013-02-21T08:01:19.923 に答える
2

ロジックを次のように変更してみてください。

if (mArray[i] >= 50 || mArray[i] <= 10)
于 2013-02-21T08:04:11.907 に答える