不知道怎么错啦求解答

img

你的代码逻辑不对呀!if else不仅有交集不说,也做了很多无用的对比,另外为什么要从1开始,难不成没有他们的差没有在0-1之间嘛

img

if(speed-speedLimit<=0){
           System.out.println("Congratulations,you are within the speed limit!");
       }
       else if(speed-speedLimit<=20){
           System.out.println("You are speeding and your fine is 100");
       }
       else if(speed-speedLimit<=30){
           System.out.println("xxxxxx");
       }
xxxxxxxxxxx

你可以参考我的,如果speed-speedLimit为25,那么他直接就会去speed-speedLimit<=30这里面了,这样减少了多余判断,优化了代码

只通过了一个,可能逻辑存在问题,还有细节要考虑。

你这个if...else中的条件有交集,比如你贴图中所示,两个条件中,等于20时,都可以满足,你要明确题目要求,对于边界值属于哪个范围需要一致。测试用例很多都是边界值的测试