如何使用用户输入创建锯齿状数组,然后显示用户输入和总和C#

时间:2014-06-11 18:04:21

标签: c# arrays multidimensional-array user-input jagged-arrays

enter image description here好的我让数组有一个固定的数字来显示和求和但是我想要做的就是让用户填充所有三个数组,然后在一个标签中显示它们如果可能的话。这就是我所拥有的。我在Google上查找了有关此内容的信息,但有些结果却没有针对C#。我提出这个问题的原因是为了让自己更好,我已经完成了我应该做的事情。我想知道用户如何创建自己的数组,然后用它们的总和显示它。请帮助,我感谢任何帮助。请放轻松我。我还是个初学者。如果你不明白我想问的是什么,请允许我详细说明。

Image是我希望用户能够填充数组的示例。

这是代码。我试图基本上以用户可以构建数组的方式组合它们,而不是已经填充了数组。

private void Submit_Click(object sender, EventArgs e)
{
 Nmbrs[x] = Convert.ToInt32(UsrInputBox.Text);
 UsrInputBox.ResetText();
 ++x;
 if (x == Nmbrs.Length)
 GetSmlLrg();
}

//Method
void GetSmlLrg()
{
 int Sml = Nmbrs[0];
 int Lrg = Nmbrs[0];
 for (x = 1; x < Nmbrs.Length; ++x)
 {
  if (Nmbrs[x] < Sml)
  Sml = Nmbrs[x];
  if (Nmbrs[x] > Lrg)
  Lrg = Nmbrs[x];
 }

我的代码我试图结合让用户填充数组的能力。

int[] Nmbr1 = { 9, 5, 3, 9, 8 };
int[] Nmbr2 = { 24, 48, 90, 36, 4, 9, 2, 7 };
int[] Nmbr3 = { 84,97,63,48,12,789,2,5,8,2,54,8,6 };

//Main Button
private void Submit_Click(object sender, EventArgs e)
{

 GetSum(Nmbr1);
 GetSum(Nmbr2);
 GetSum(Nmbr3);
}

//Method
public void GetSum(int[]Array)
{
 int Total = 0;
 for (int x = 0; x < Array.Length; ++x)
 {
  if (x == 0)
  Output.Text += "\n";
  Output.Text += " " + Array[x];
  Total += Array[x];
 }
 Output.Text += "\nThe total is - " + Total + "\n"+"----------------------------------
 ------";

1 个答案:

答案 0 :(得分:0)

如果我理解你要做什么,你需要稍微修改你的UI。

您需要文本框,提交按钮和新的“计算”按钮。计算按钮表示输入已完成,然后显示结果。

代码看起来像:

List<int> numbers = new List<int>();
private void Submit_Click(...)
{
   numbers.Add(int.Parse(UsrInputBox.Text));
}

private void Calculate_Click(...)
{
   int smallest = numbers.Min();
   int largest = numbers.Max();

   //Display code
}

请注意,我使用List<T>,因为在编译时不知道大小时不使用数组。我还利用LINQ MinMax函数来简化搜索。您可能还没有了解它们,但LINQ扩展是C#中非常强大的工具。

如果这有帮助或者您有疑问,请告诉我。这个例子没有你做的3个数组,但是你的UI也没有显示它们。如果你需要这种行为,你只需要在某种循环中运行上面的代码。如果您提供更多细节,我可以尝试并为您充实。