【发布时间】:2021-05-10 05:38:25
【问题描述】:
我一直在研究这个问题,我有两个平行的长度相同的数组。我已经嵌套了 foreach 循环来比较数组,所以我可以知道哪个数字更大。一个数字是随机生成的,另一个是从用户输入中收集的。我遇到的问题是在移动到下一个随机生成的数字之前,将随机生成的数字与每个用户输入进行比较。这是我的代码:
Random r = new Random();
int length = 10;
int[] ranNum = new int[length];
int[] userNum = new int[length];
for (int i = 0; i < length; i++)
{
ranNum[i] = r.Next(1, 100);
}
for (int i = 0; i < length; i++)
{
Console.WriteLine("Enter a number between 1 and 100");
userNum[i] = Convert.ToInt32(Console.ReadLine());
}
foreach(int rn in ranNum)
{
foreach(int ui in userNum)
{
if (rn < ui)
{
Console.WriteLine(rn + " is less than " + ui);
}
else if (rn > ui)
{
Console.WriteLine(rn + " is greater than " + ui);
}
else
{
Console.WriteLine(rn + " is equal to " + ui);
}
}
}
我确定我遗漏了一些明显的东西,任何帮助将不胜感激提前谢谢你
【问题讨论】:
-
为什么要编辑花括号以匹配 Java/JavaScript 样式?换行符上的花括号在 C# 中是标准的。
-
您希望它如何工作。假设您有两个数组:
[1, 5, 200]和[2, 4, 100]。您想对数组及其元素做什么? -
@BradfordDillon:“换行符上的花括号是 C# 中的标准。” 请注意,C 系列语言中的花括号样式是一个宗教问题。在过去的几十年里,已经在这个问题上发生了严重的争吵(通常升级为激烈的战争或午餐室的排斥)。甚至还有专门的 Wiki 页面:en.wikipedia.org/wiki/Indentation_style。请注意,没有 C# 标题。
-
只需使用单个索引 for 循环并使用相同的索引访问值。
foreach不适合这种逻辑。