-2

ユーザーに10個の数字を入力して配列に保存するように依頼しようとしています。次に、ユーザーに任意の数値を入力して、その数値が配列に既に格納されているかどうかを確認するように求めます。番号を入力すると画面が消えますが、番号が既に存在する場合は検証できません。私のコードを見てください。前もって感謝します。

static void Main(string[] args)
    {
        int[] numCheck = new int[10];
        int[] userInput = new int[1];

        Console.WriteLine("Please enter 10 numbers: ");

        for (int i = 0; i < 10; i++)
        {
            Console.Write("Number {0}: ", i + 1);
            numCheck[i] = int.Parse(Console.ReadLine());
        }

        Console.WriteLine("Please enter any number to check if the number already exist");

        for (int j = 0; j <= 10; j++)
        {
            if (userInput == numCheck)
            {
                Console.Write("The number {0} is in the index", numCheck);
                userInput[j] = int.Parse(Console.ReadLine());
            }

            else 
            {
                Console.Write("The number {} is not in the index", numCheck);
            }
        }
4

3 に答える 3

4

ユーザーからアイテムを1つだけ取得するため、配列を宣言する必要はありません

int userInput;

//read userInput

if (numCheck.Any(i => i == userInput))
{
    Console.Write("The number {0} is in the index", userInput);
}
else
{
    Console.Write("The number {} is not in the index", userInput);
}
于 2012-12-31T23:58:26.823 に答える
1

これはいけません:

if (userInput == numCheck)

なれ:

if (userInput[0] == numCheck[j])
于 2012-12-31T23:56:21.863 に答える
1

推奨される代替手段:

static void Main(string[] args)
{
    int[] numCheck = new int[10];
    Console.WriteLine("Please enter 10 numbers: ");

    for (int i = 0; i < 10; i++)
    {
        Console.Write("Number {0}: ", i + 1);
        numCheck[i] = int.Parse(Console.ReadLine());
    }

    Console.WriteLine("Please enter any number to check if the number already exist");
    int userInput = int.Parse(Console.ReadLine());

    for (int i = 0; i < 10; i++)
    {
        if (userInput == numCheck[i])
        {
            Console.Write("FOUND NUMBER");

            break;
        }
    }
 }
于 2013-01-01T00:01:21.467 に答える