学会运用++和--,培养计算思维

来源:互联网 发布:vb语言和java 编辑:程序博客网 时间:2024/06/14 01:10

在编写点名系统的过程中,第一次写downbutton和upbutton对应的click处理事件时,由于处理不当,导致运行结果出现这样一种情况:当点击downbutton之后再点击upbutton,不能顺利出现上一次的结果,而是重复了downbutton对应的最后一次的结果,当再次按下upbutton时才能出现上一次的结果。

最开始的代码如下:clickNum的初始值是0.
private void downbutt_Click(object sender, EventArgs e)
{
StuMessage _stumessage = new StuMessage(stable);
if (clickNum < excelRows)
{
int _nrow = randStuId[clickNum];
nametext.Text = _stumessage.showName(_nrow);
_stuIDtext.Text = _stumessage.showStuId(_nrow );
_stumessage.speakname(_nrow);
_stumessage.readphoto(_nrow);
}
clickNum+=1;
}
private void upbutt_Click(object sender, EventArgs e)
{
clickNum-=1;
StuMessage _stumessage = new StuMessage(stable);
if (clickNum < excelRows&&clickNum >=0)
{
int _nrow = randStuId[clickNum];
nametext.Text = _stumessage.showName(_nrow);
stuIDtext.Text = _stumessage.showStuId(_nrow);
_stumessage.speakname(_nrow);
_stumessage.readphoto(_nrow);
}
}

还是由于对计算机编程的思维能力不够,出现了上述错误,在仔细分析之后这端代码的运行顺序是;
DOWN :
从0开始——读0——0+1=1
从1开始——读1——1+1=2
UP
从2开始——2-1=1——读1;
这样就很清楚问题的原因了,但由于对基础掌握的不足,最开始没能想到++和–.其实只要用前置的++和–就行了,改动一点代码:
downbutton对应的改为:

 int _nrow = randStuId[++clickNum];

upbutton对应的改为

 int _nrow = randStuId[--clickNum];

代码运行的顺序为:
DOWN
从0开始——0+1=1——读0
从1开始——1+1=2——读1
UP
从2开始——2-1=1——读1

虽然知识都懂,但还是缺失灵活的运用,今天费时记下这个++和–,告诫自己今后学习要重视基础,灵活运用,培养计算思维。

0 0
原创粉丝点击