0

i M 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

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 に答える
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 つの数字ですか、それとも一連の数字ですか? たとえば、1,2,3 の場合はSplit、文字列をオンにしてから、取得,した各エントリをString[]整数に変換し、それらを配列に格納する必要があります。

于 2013-02-10T04:50:31.443 に答える
0

あなたが何をしようとしているのかわからない。

入力が変更されるたびにテキストボックスから入力を読み取り、そのテキストボックスに示されているサイズに配列を再作成しているようです。

2番目のテキストボックスは、2番目のテキストボックスが入力として受け入れるものに変更されるたびに配列を埋めます(これはまったく意味がありません)。

button1 は配列を文字列として表示しますが、これはおそらく問題ありません。

2 番目のテキスト ボックスを、配列を埋めるボタンに変更したい場合があります。

それ以外の場合は、2 番目のテキスト ボックスの意図を再考してください。意味がありません。

于 2013-02-10T04:52:11.853 に答える