簡體   English   中英

用戶輸入的最小和最大數字

[英]minimum and maximum numbers from user input

我找到了這個用於從用戶輸入中查找最小和最大數字的代碼。

using System;
    class FindMinAndMaximalNumber
    {
        static void Main()
        {
            string[] numbers;
            bool isInteger=true;
            int minimal=int.MaxValue;
            int maximal=int.MinValue;
            Console.Write("Enter a sequence of numbers delimited with \",\":");
            numbers = (Console.ReadLine()).Split(',');

               int[] intNumbers=new int[numbers.Length];
            for (int i = 0; i < (numbers.Length); i++)
            {
                isInteger = int.TryParse(numbers[i], out intNumbers[i]);
                if (isInteger==false)
                {
                    break;
                }
            }
            if (isInteger)
            {
                for (int i = 0; i < numbers.Length; i++)
                {
                    if (intNumbers[i] < minimal)
                    {
                        minimal = intNumbers[i];
                    }
                    if (intNumbers[i] > maximal)
                    {
                        maximal = intNumbers[i];
                    }
                }
                Console.WriteLine("minimal={0}",minimal);
                Console.WriteLine("maximal={0}",maximal);
            }
            else
            {
                Console.WriteLine("Not a valid entry! Some of the entries are not integer!");
            }
        }
    }

我的問題是:
1 - 以下代碼是否聲明了一個數組intNumbers ,其大小等於名為“number”的數組的大小

int[] intNumbers=new int[numbers.Length];

是還是不是?

2 - 檢查這個TryParse方法....

isInteger = int.TryParse(numbers[i], out intNumbers[i]);

如果IsInteger為真,那么這是否意味着..i 的值存儲在intNumbers[i] ...???? 或者任何人都可以簡單地解釋一下這段代碼

  1. 是的。 datatype[] arrayName = new datatype[length];

  2. 方法int.TryParse()將數字的字符串表示形式轉換為其等效的 32 位有符號整數。 返回值指示轉換是否成功。 在這種情況下, TryParse將檢查數組“numbers”的每個元素,如果它是int數據類型,則它將值存儲到其他數組。 這樣做是為了防止輸入非數值。 因此,如果IsInteger為真,則意味着您輸入的所有值都是數字

非常感謝 SimpleVar 和非常感謝 MegaTron 的幫助。 只是最后澄清。所以這意味着以下代碼“僅”聲明名為“intNumbers”的新數組的大小

int[] intNumbers=new int[numbers.Length];

但是這些項目通過此代碼(以及 for 循環)存儲在這個新數組“intNumbers”中

isInteger = int.TryParse(numbers[i], out intNumbers[i]);

每次執行它的 true 和 for 循環時

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM