5. 拼接技巧:先单独调试每个模块(比如先确保输入和判断模块正常运行),再逐步拼接,避免一次性写完整代码导致报错难排查。
看着简化图,林舟心里的思路清晰了不少,可真要动手敲代码,还是有点发怵。尤其是switch语句的格式,他总记不清case后的break要不要加,除法的错误判断也不知道该放在哪里。
“还没搞定?”李哲调试完自己的代码,转头看到林舟对着屏幕发呆,凑了过来,“哪里卡壳了?我帮你看看。”
林舟像抓住救命稻草,指着简化图(他假装是自己画的草稿):“我想先用switch判断运算符,可不知道怎么把计算和错误提示加进去,尤其是除法的除数为0判断。”
李哲拿起笔,在纸上画了个简单的流程图:“你看,switch语句里每个case对应一个运算,除法的case里要先判断b是不是0。如果是0,就输出错误提示,不用计算;如果不是0,再算a/b。比如这样。”他边说边写下代码片段。
“还有,每个case后面一定要加break,不然会继续执行下一个case的代码,比如你选加法,结果会把减法、乘法的代码也执行一遍。”李哲又补充道,“你先别着急写完整代码,先把输入和判断模块敲出来,运行试试能不能正确识别运算符,再逐步加计算和错误提示。”
本小章还未完,请点击下一页继续阅读后面精彩内容!
林舟茅塞顿开,按照李哲的建议,先敲输入和判断模块,只保留“识别运算符并提示”的功能。
将代码一顿修修改改,新的代码出现在屏幕中。
点击运行,输入“5 + 3”,屏幕上正确显示“你输入的运算符是:+”;输入“5 # 3”,则显示“无效运算符”。第一步成功了!林舟心里的石头落了一半,赶紧接着加计算模块。
李哲在旁边看着,时不时提醒:“乘法的代码里,int类型相乘可能会溢出,但作业要求简单,暂时不用考虑,先保证功能实现。”“错误提示的文字要清晰,让用户知道哪里错了,比如‘输入格式错误,请按“数字 运算符 数字”的格式输入’。”
张强和王浩也凑过来围观,虽然帮不上技术忙,却在旁边加油打气:“林舟加油!你要是搞定了,也帮我看看我的代码呗!”“对,等会儿咱们三个都搞定了,我请大家吃泡面!”
时间一点点过去,凌晨一点半,林舟终于敲完了完整代码。他深吸一口气,点击“运行”按钮,手指紧张地攥着鼠标。输入“10 + 5”,屏幕显示“结果:15”;输入“10 / 0”,显示“错误:除数不能为0”;输入“abc + 5”,虽然没实现“非数字输入提示”(这个功能超纲了,周教授也没强制要求),但至少不会直接崩溃。
“搞定了!运行成功了!”林舟激动得拍了下桌子,声音都有点发颤。
李哲笑着点头:“不错,逻辑没问题,虽然非数字输入的提示没做,但作业要求的四则运算和除数为0提示都实现了,肯定能及格。”
“太谢谢你了!”林舟赶紧保存代码,发送到周教授的邮箱,“要是没有你,我今天肯定交不上作业。”他没好意思提系统的简化图,只能把这份“救命之恩”记在心里。
“谢什么,室友之间本来就该互相帮忙。”李哲推了推眼镜,“下次遇到不会的别硬扛,提前说,咱们一起琢磨,总比你一个人熬夜强。”