学习数组的时候,想着写一个阶乘。虽然没什么联系,但是还好就是也遇到了问题。
我写的是一个windows窗体程序,虽然没设么意义。但是我觉得这样很有成就感,因为曾经试过用c+GDK+UBUNTU写窗体,这简直是人生的噩梦。首先装了一个礼拜的GDK才装好了,然后从头开始写,画框,写按钮.....瞬间觉得人生都闪亮了。
当当当当,代码来啦。
private void button1_Click(object sender, EventArgs e)
{
string s = textBox1.Text;
try
{
int n = Convert.ToInt32(s);
n = IProgram(n);
textBox2.Text = n.ToString();
}
catch
{
MessageBox.Show("请输入数字!");
}
}
private int IProgram(int n)
{
int i;
int result = 1;
for (i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
首先,我遇到的第一个问题是,textBox.Text读出来是string类型的,怎么转成int型。百度以后得到答案。
string s = textBox1.Text;
int n = Convert.ToInt32(s);
两句话搞定。
后来遇到一个问题,就是怎么判断输入的是不是数组呢,自己按了字母进去试了,结果运行时转成int那行报错了。百度了很久,正则表达式等等,试了很多方法都没能解决这个问题。后来,灵机一动,我可以捕捉异常啊。试了试,搞定了。自我觉得太机智了,笔者准备以后靠这反应混了。这么简单明了的办法百度上还真的没说。