gpt4 book ai didi

c# - 在数组中比较

转载 作者:行者123 更新时间:2023-11-30 14:00:21 30 4
gpt4 key购买 nike

我的代码有问题。我正在自学 C#,本章的挑战之一是提示用户输入 10 个数字,将它们存储在一个数组中,而不是再要求 1 个数字。然后程序会说附加数字是否与数组中的数字之一匹配。现在我下面的内容确实有效,但前提是我输入的比较数字小于数组的大小 10。

我不确定如何修复它。我不确定如何进行比较。我首先尝试了一个 FOR 循环,它是有效的,但运行了循环并显示了与所有 10 个数字的比较,所以你会得到 9 行 No!和 1 行是!我休息一下;它停止计数所有 10 但如果我输入数字 5 进行比较,那么我会得到 4 行否!和 1 个是!以下是我可以让它可靠地工作的唯一方法,但前提是数字不超出数组的范围。

我明白为什么当数字超过 10 时会出现错误,我只是不知道用什么来比较它,但仍然允许用户输入任何有效整数。任何帮助都会很棒!

        int[] myNum = new int[10];
Console.WriteLine("Starting program ...");
Console.WriteLine("Please enter 10 numbers.");

for (int i = 0; i <= 9; ++i)
{
Console.Write("Number {0}: ", i + 1);
myNum[i] = Int32.Parse(Console.ReadLine());
}

Console.WriteLine("Thank you. You entered the numbers ");
foreach (int i in myNum)
{
Console.Write("{0} ", i);
}

Console.WriteLine("");
Console.Write("Please enter 1 additional number: ");
int myChoice = Int32.Parse(Console.ReadLine());
Console.WriteLine("Thank you. You entered the number {0}.", myChoice);

int compareArray = myNum[myChoice - 1];

if (compareArray == myChoice)
{
Console.WriteLine("Yes! The number {0} is equal to one of the numbers you previously entered.", myChoice);
}
else
{
Console.WriteLine("No! The number {0} is not equal to any of the entered numbers.", myChoice);
}

Console.WriteLine("End program ...");

Console.ReadLine();

最佳答案

您走在正确的轨道上 - 您想要遍历 myNum 中的数组并将每个元素与变量 myChoice 进行比较。如果您不想打印数组的每个元素是否匹配,请创建一个新变量并使用它来跟踪您是否找到了匹配项。然后在循环之后,您可以检查该变量并打印您的发现。您通常会为此使用 bool 变量 - 将其设置为 false 以开始,然后在找到匹配项时设置为 true。

bool foundMatch = false;
for (int i = 0; i < 10; i++) {
if (myNum[i] == myChoice) {
foundMatch = true;
}
}
if (foundMatch) {
Console.WriteLine("Yes! The number {0} is equal to one of the numbers you previously entered.", myChoice);
}

关于c# - 在数组中比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11025859/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com