gpt4 book ai didi

c# - 在显示 C# 之前设置数组的最大总和

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

所以我是 C# 的新手,我正在编写一个基本程序,它将随机值分配给 6 个数组。

    private void button1_Click(object sender, EventArgs e)
{
tbxA.Clear();
tbxB.Clear();

int[] number = new int[6];
Random m = new Random();

for (int i = 0; i < 6; i++)
{
number[i] = m.Next(0, 4);
tbxA.AppendText("" + Convert.ToString(number[i]) + "\n");
}

int sum = number.Sum();
if (sum > 8)
{
tbxB.AppendText(" " + sum);
}
}

这将在文本框 A 中显示随机生成的数组编号 1-6,如果它们的总和超过 8,它将在文本框 B 中显示总和。

然而,我想在这里做的是,数组中的数字只有当它们的和大于 8 时才显示在文本框 A 中。如果它们的总和小于 8,则应自动为数组生成新数字,直到它符合总和 > 8 的要求。

我曾尝试使用另一个 for 循环,其中包含所有内容以及其中的 ifs,但它会导致程序崩溃。

最佳答案

试试这个...但请记住,由于您使用的是随机数,因此可能需要一段时间才能满足条件,并且可能看起来像无限循环

private void button1_Click(object sender, EventArgs e)
{
tbxA.Clear();
tbxB.Clear();

int[] number = new int[6];
Random m = new Random();
while(true)
{
for (int i = 0; i < 6; i++)
{
number[i] = m.Next(0, 4);
tbxA.AppendText(number[i].ToString() + Environment.NewLine);
//tbxA.AppendText("" + Convert.ToString(number[i]) + "\n");
}

int sum = number.Sum();
if (sum > 8)
{
tbxB.AppendText(" " + sum);
break;
}
else{
tbxA.Clear();
tbxB.Clear()
}
}
}

或者如果您想要额外的号码而不是替换已添加的旧号码..

private void button1_Click(object sender, EventArgs e)
{
tbxA.Clear();
tbxB.Clear();

//int[] number = new int[6];
List<string> number = new List<string>();
Random m = new Random();
while(true)
{
for (int i = 0; i < 6; i++)
{
number.Add(m.Next(0, 4));
}

int sum = number.Sum();
if (sum > 8)
{
tbxA.AppendText(string.Join("Environment.NewLine", number.ToArray()))
tbxB.AppendText(" " + sum);
break;
}

}
}

关于c# - 在显示 C# 之前设置数组的最大总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22586170/

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