簡體   English   中英

將用戶文本框輸入(數字)放入已定義的數組大小和輸出中?

[英]Take User Textbox Input (numbers) put into defined array size and output?

這是“家庭作業”(在我的c#書中)

應該發生的是文本框上的用戶輸入10個數字(我一次一個),每次點擊按鈕“addValBtn”時,它應該將該數字添加到數組中,直到它填滿10個點,輸入10個用戶數字。 然后我試圖通過displayValBtn顯示該數組(我可以自己弄清楚),但我不能讓這個該死的數組正常工作。

我的書解釋了如何設置陣列,從我在Stackoverflow上讀到的內容以及谷歌人的類似問題。 但是每次單擊按鈕時,它們似乎都沒有輸入。 所以我完全不知道該怎么做。

我創建並定義了我的數組作為numArray(使用double) - 將我的數組索引設置為10.然后我做了一個for循環,以便它應該將文本框中的數字解析為數組。 但是,當我運行沒有任何反應。 (或者至於我關心它的工作我只是沒有顯示它,看它是否存儲數字)

1)我是否正確地為這種情況做這件事? 2)由於我需要在通過按鈕填充數組后顯示數組的內容,我的變量是否需要全局?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace array
{
 public partial class array : Form
{
    public array()
    {
        InitializeComponent();
    }

    private void exitBtn_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    public void addValBtn_Click(object sender, EventArgs e)
    {
       double[] numArray = new double[10];

       for (int index = 0; index < numArray.Length; index++)
       {
        numArray[index] = int.Parse(intTxtBox.Text);
       } 
    }

    private void displayValBtn_Click(object sender, EventArgs e)
    {

    }
}
}

我是否正確地為這種情況做這件事?

排序,但不是真的:)你解析輸入的代碼是好的,但你只是將數組的所有10個值分配給相同的數字。

此外,您的數組本地作用於addValBtn_Click方法,這意味着它不會粘貼在該事件處理程序的末尾。

由於我需要在通過按鈕填充數組后顯示數組的內容,我的變量是否需要全局?

正如我之前提到的,你的陣列不會留下來。 你是在正確的軌道上,但它不需要是一個全局變量,只需要類級別Form

您需要聲明一次數組,然后在單擊按鈕時繼續將值推入其中。 請務必跟蹤您所在的索引。

我在類中聲明了我的“索引”,如下所示:int index = 0; 它告訴我,字段'array.array.index'永遠不會被分配給。 對我來說真的沒有意義,看我是如何給它賦值的!

確保你在正確的位置聲明這一點。 如果你已經完成了所有的事情,你說你的類聲明應該是這樣的:

public partial class array : Form
{
   private const int MAX_ITEMS = 10;
   private int _currentIndex = 0;
   private double[] _numArray = new double[MAX_ITEMS];

   //SNIP...
}

應該沒有任何問題。 如果有,那么我可能無法幫助你而不會站在你的肩膀上:)

您需要對事件驅動編程進行一些研究。

for (int index = 0; index < numArray.Length; index++)
{
    numArray[index] = int.Parse(intTxtBox.Text);
} 

這將讀取相同的整數到數組的每個位置。

你需要在你的班級中存儲“索引”,然后執行以下操作:

if (this.index < 10)
{
    numArray[this.index] = int.Parse(intTxtBox.Text);
    this.index++
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM