来自用户输入的最小和最大数字
本文关键字:数字 用户 输入 | 更新日期: 2023-09-27 18:23:53
我找到了这个代码,用于从用户输入中查找最小和最大数字。
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
,该数组的大小等于名为"数字"的数组的大小
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循环时,