[英]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]
...???? 或者任何人都可以簡單地解釋一下這段代碼
是的。 datatype[] arrayName = new datatype[length];
方法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.