在while循环中检查两个int值

问题描述 投票:-1回答:2

我想在用户向一个数组输入小于1或大于25的int值时显示消息。或者如果用户之前已经输入了相同的值。

            //create one empty array named vektor for 4 values.
            int[] vektor = new int[4];

            //take input from user
            for (int i = 0; i < vektor.Length; i++)
            {
                // as long as value not beetween 1 or 25
                while (!(vektor[i] >= 1 && vektor[i] <= 25))
                {
                    // Entry row number
                    int x = i + 1;
                    //ready input and store in array called vektor
                    Console.Write("row number:{0}: Enter one integer:", x);  
                    vektor[i] = Convert.ToInt32(Console.ReadLine());

                }

            }

如果我在编号2上输入29作为值,我想要这样的东西。

if (vektor == 0 || vektor =>26)
{
Console.WriteLine("You entered wrong value, try again")
}

然后您再次返回第2行,并尝试输入正确的值。

c# arrays if-statement
2个回答
0
投票

尝试一下

//create one empty array named vektor for 4 values.
        int[] vektor = new int[4];

        //take input from user
        for (int i = 0; i < vektor.Length; i++)
        {
            int userInput = 0;
            do
            {
                Console.Write("row number:{0}: Enter one integer:", i + 1);
                userInput = Convert.ToInt32(Console.ReadLine());
            }
            while (userInput < 1 || userInput > 25 || vektor.Contains(userInput));
            vektor[i] = userInput;
        }

0
投票

您可以在一个while loop中完成。只要输入错误就不要increase计数器

using System;
namespace learn_c_
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] vektor = new int[4];
            int counter = 0;
            while (counter < vektor.Length)
            {
                Console.Write("row number:{0}: Enter one integer: ", counter + 1);
                int number = Convert.ToInt32(Console.ReadLine());
                if (number > 0 && number < 26)
                {
                    vektor[counter++] = number;
                }
                else
                {
                    Console.WriteLine("You entered wrong value, try again");
                    continue;
                }
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.