0

このコードに noNegatives という名前の別の関数を作成するにはどうすればよいでしょうか? noNegatives という名前の別の関数を使用してコードを書き直したいのですが、それでもプログラムに同じことをさせたいと思っています。

    class Program
    {
        static void Main(string[] args)
        {
            string numberIn;
            int numberOut;

            numberIn = Console.ReadLine();

            while (!int.TryParse(numberIn, out numberOut) || numberOut < 0)
            {
                Console.WriteLine("Invalid. Enter a number that's 0 or higher.");
                numberIn = Console.ReadLine();
            }
        }       
    }
4

3 に答える 3

0

以下は、あなたがそれを書くことができる最も簡単な方法です

static void Main(string[] args)
            {
                int retVal=0; 
                string numberIn;
                int numberOut;
                numberIn = Console.ReadLine();

                while(noNegatives(numberIn,numberOut)=0)
                {

                }
             } 

    int noNegatives(String numberIn,int numberOut)
    {


                numberIn = Console.ReadLine();

                if (!int.TryParse(numberIn, out numberOut) || numberOut < 0)
                {
                    Console.WriteLine("Invalid. Enter a number that's 0 or higher.");
                    return 0;

                }
                else
                {
                   return 1;
                }
    }
于 2013-10-05T12:52:50.453 に答える
0

この質問は、ここに投稿されたものと非常によく似ています。

    static void Main(string[] args)
    {
        string numberIn = Console.ReadLine();
        int numberOut;

        while(!IsNumeric(numberIn))
        {
            Console.WriteLine("Invalid.  Enter a number that's 0 or higher.");
            numberIn = Console.ReadLine();
        }
        numberOut = int.Parse(numberIn);
    }

    private static bool IsNumeric(string num)
    {
        return num.ToCharArray().Where(x => !Char.IsDigit(x)).Count() == 0;
    }

負の符号は数字ではないため、IsNumeric は負の数に対して false を返します。

于 2013-10-05T15:36:30.960 に答える