gpt4 book ai didi

c# - 我的代码不检查所有数组的索引(彩票程序)

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:42 25 4
gpt4 key购买 nike

我正在制作一个彩票程序,它是基本的,目前只能通过控制台查看。

程序执行以下操作:

  1. 用户输入 1 - 46 之间的 6 个数字。

  2. 程序生成 6 个范围相同的随机数。

  3. 程序比较索引以查看用户设法与程序匹配的数字。

  4. 程序显示用户正确的相同数字。

但是,目前,我的代码中存在错误,我不确定如何继续。

例如,我的输入是:1、2、3、4、5、6

程序生成了 6 个数字,我已经成功地命中了数字 2 和 6。但是,程序只显示数字 2。这意味着我的代码没有比较每个索引,我不确定为什么。

用户数组是lucky,程序生成的数组是numbers

Console.WriteLine("The winning numbers are: , " );

int[] winning = new int[6];
int w = 0;
var x = 0;
var j = 0;
Console.WriteLine("The winning numbers are: , " );

int[] winning = new int[6];
int w = 0;
var x = 0;
var j = 0;
while (x< 6)
{
if (lucky[j] == numbers[x])
{
winning[w] = numbers[x];
Console.WriteLine(winning[w]);
w++;
}
j++;

if (j == 5)
{
x++;
j = 0;
}
}

最佳答案

现在不需要做所有的循环。 LINQ 的 Intersect function使其成为一个函数调用:

var Matches = lucky.Intersect(numbers);

将返回 Matches 中两个列表中的所有匹配数字。

循环等效项可能看起来像这样(从我的头顶上写下来):

List<int> winning = new List<int>();
for(int i=0; i<numbers.Length; i++)
{
if(numbers.Contains(lucky[i])
winning.Add(lucky[i]);
}

要在控制台上显示它,使用一个简单的循环:

for(int i=0; i<winning.Length; i++)
{
Console.WriteLine(winning[i]);
}

关于c# - 我的代码不检查所有数组的索引(彩票程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56661949/

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