0

我声明了一个 int 类型数组并尝试打印它的所有元素,但它只打印最后一个元素.....给我正确的代码......

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        int[] arr;
        int range;

        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            range = Convert.ToInt32(textBox1.Text);
            arr = new int[range];


        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < range; i++)
            {
                arr[i] = Convert.ToInt32(textBox2.Text);
            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            for(int i =0;i<range;i++)
            {
                textBox3.Text = textBox3.Text + arr[i].ToString();

            }
        }
   }
}
4

5 回答 5

1

这一行:arr[i] = Convert.ToInt32(textBox2.Text); 将数组中的每个元素设置为 textbox2 中的值。这是你的意图吗?

于 2013-02-10T04:51:23.660 回答
0

Int 数组很常见。它们存储许多整数值。这些值可以以多种方式使用。这个介绍性材料涵盖了 int 数组,展示了声明、赋值、元素、循环和方法。请看这里

此代码是工作数组 int 的简单示例

using System;

class Program
{
    static void Main()
    {
    int[] arr1 = new int[] { 3, 4, 5 }; // Declare int array
    int[] arr2 = { 3, 4, 5 };           // Another
    var arr3 = new int[] { 3, 4, 5 };   // Another

    int[] arr4 = new int[3];            // Declare int array of zeros
    arr4[0] = 3;
    arr4[1] = 4;
    arr4[2] = 5;

    if (arr1[0] == arr2[0] &&
        arr1[0] == arr3[0] &&
        arr1[0] == arr4[0])
    {
        Console.WriteLine("First elements are the same");
    }
    }
}

using System;

class Program
{
    static void Main()
    {
    // Loop over array of integers.
    foreach (int id in GetEmployeeIds())
    {
        Console.WriteLine(id);
    }
    // Loop over array of integers.
    int[] employees = GetEmployeeIds();
    for (int i = 0; i < employees.Length; i++)
    {
        Console.WriteLine(employees[i]);
    }
    }

    /// <summary>
    /// Returns an array of integers.
    /// </summary>
    static int[] GetEmployeeIds()
    {
    int[] employees = new int[5];
    employees[0] = 1;
    employees[1] = 3;
    employees[2] = 5;
    employees[3] = 7;
    employees[4] = 8;
    return employees;
    }
}

Output

1
3
5
7
8
1
3
5
7
8
于 2013-02-10T04:48:48.857 回答
0

textBox2.Text 是一个数字还是一个数字序列?例如,如果是 1,2,3,那么您必须Split打开字符串,,然后将String[]您返回的每个条目转换为整数,并将它们存储在数组中。

于 2013-02-10T04:50:31.443 回答
0

我不确定您要做什么。

似乎您正在从文本框中读取输入,只要它被更改并将数组重新创建为该文本框中指示的大小。

每当第二个文本框更改为第二个文本框接受的任何输入时,第二个文本框都会填充数组(这根本没有意义)。

button1 将数组显示为字符串,这可能没问题。

您可能希望将第二个文本框更改为填充数组的按钮。

否则,重新考虑第二个文本框的意图,这是没有意义的。

于 2013-02-10T04:52:11.853 回答
0

你在哪里清除 textBox3.Text ?

您正在此文本框中累积。当你这样做时,输入溢出,你只会看到最后添加的东西。也许这就是问题所在。我可能会调整:

private void button1_Click(object sender, EventArgs e)
{
    textBox3.Text = "";

    for(int i =0;i<range;i++)
    {
        textBox3.Text = textBox3.Text + arr[i].ToString();

    }
}
于 2013-02-10T04:55:04.550 回答