如下代码有什么问题???

win911 2002-08-22 09:30:38
int method;

private void button4_Click(object sender, System.EventArgs e)
{
method = 4;
}

private void button2_Click(object sender, System.EventArgs e)
{
method = 1;
}

private void button3_Click(object sender, System.EventArgs e)
{
method = 2;
}

private void button5_Click(object sender, System.EventArgs e)
{
method = 3;
}
private void button1_Click(object sender, System.EventArgs e)
{
int left;
int right;
int sum;
left = int.Parse(textBox1.Text); //change the text to a number
right = int.Parse(textBox2.Text);

if (method == 1)
{
sum = left + right;
textBox3.Text = sum.ToString();
}
if (method == 2)
{
sum = left - right;
textBox3.Text = sum.ToString();
}
if (method == 3)
{
sum = left * right;
textBox3.Text = sum.ToString();
}
if (method == 4)
{
sum = left / right;
textBox3.Text = sum.ToString();
}
else
{
textBox3.Text = "Error";
}
如上代码为什么只有我在计算除法的时候,也就是当method=4的时候才能计算出正确的值,当method为其他值时textbox3.text都显示为"Error"
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qf0421 2002-08-23
  • 打赏
  • 举报
回复
对,所以你要加上几个else就对了
ninglng 2002-08-23
  • 打赏
  • 举报
回复
当method=4的时候才能计算出正确的值,当method为其他值时textbox3.text也为正确的值,不过都被后来的"Error"覆盖

重新付值了阿
VSJobs 2002-08-22
  • 打赏
  • 举报
回复
此外,我的表达有些问题,break只能结束最近的封闭循环或者条件语句
你不要误会阿
VSJobs 2002-08-22
  • 打赏
  • 举报
回复
你的逻辑有一点点怪阿
好像变成了
if()
if()
if()
if()else(),而且并没有退出程序的break;
这样的话假如method=1
则,出现了这样子的奇怪执行方式
在第一个if语句段里text被设置成了加法的结果的值,但是程序继续执行下去的时候,却遇到了最后的if()else()
则只要不是4,就必须被设置成error
希望对你有帮助
lkal4587 2002-08-22
  • 打赏
  • 举报
回复
试试用case

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧