-1

背景:
这是从 13 小时前更新的,因为我已经对此进行了一些研究和试验。我是这个编程领域的新手,所以我会很简短,我正在自学 C#

我正在尝试学习如何从用户输入到文本框中的整数从 button1_Click 计算出来以显示在表单上。是的,这是一项课堂作业,但我认为我可以很好地处理其中的一些问题,但不是全部;这就是我转向你们的原因。

问题:
我在 C# 语言、Windows 窗体应用程序中使用 Microsoft Visual Studio 2010,我需要创建一个 GUI,允许用户输入 10 个整数值,这些值将存储在从 button_Click 对象调用的数组中。这些值将显示用户输入的最高和最低值。唯一的问题是数组必须在 Click() 方法之上声明。

到目前为止,这是我想出的:

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

        public void inputText_TextChanged(object sender, EventArgs e)
        {
            this.Text = inputText.Text;
        }

        public void submitButton_Click(object sender, EventArgs e)
        {
            int userValue; 
            if(int.TryParse(inputText.Text, out userValue)) 
        { 

        } 
        else 
        {
            MessageBox.Show("Please enter a valid integer into the text box.");
        } 


            int x;
            x = Convert.x.ToString();
            int squaredResults = squared(x);
            int cubedResults = cubed(x); squared(x);
            squaredLabel.Text = x.ToString() + " squared is " + squaredResults.ToString();
            cubedLabel.Text = x.ToString() + " cubed is " + cubedResults.ToString();
        }
        public static int squared(int x)
        {
            x = x * x;
            return x;
        }
        public static int cubed(int x)
        {
            x = x * squared(x);
            return x;    
        }
    }
}

现在我无法运行这个程序,因为第 38 行显示了一条错误消息:“System.Convert”不包含“x”的定义此外,我仍然必须有一个数组,该数组包含来自文本框的 10 个整数并在上面声明Click() 方法。请各位大侠帮帮我?这是昨天到期的。

4

2 回答 2

0

这看起来像家庭作业,所以你应该尝试更多。这是您可以执行的操作:解析字符串(假设它是逗号分隔的数字列表),将每个值转换为int并填充您的数组。您可以调用.Max()/.Min()方法或循环遍历数组的值并获取最大值/最小值。这是一段代码:

int n = 10;
int[] numbers = (from sn in System.Text.RegularExpressions.Regex.Split(inputText.Text, @"\s*,\s*") select int.Parse(sn)).ToArray();
int max = numbers.Max();
int min = numbers.Min();
//int max = numbers[0];
//int min = numbers[0];
//for(int i = 1; i < n; i++)
//{
//    if(max < numbers[i])
//    {
//        max = numbers[i];
//    }
//    if(min > numbers[i])
//    {
//        min = numbers[i];
//    }
//}
于 2012-06-28T02:03:22.590 回答
0

这很可能是一个家庭作业,我不会提供完整的解决方案,而只是提供一个提示。

对我来说,任务似乎是一些如何接受 10 个整数,然后显示它们中的最小和最大。为此,无需维护数组(仅当维护数组本身不是问题的一部分时才偏离路线)。您只需要跟踪当前最小值和当前最大值。

当您收到输入时,将其与当前的最小值和最大值进行比较,并相应地更新它们。例如

if(num < curr_min) curr_min = num;
于 2012-06-28T05:57:02.420 回答