BX14 2023-07-03 23:26 采纳率: 95.7%
浏览 19
已结题

java算法:分类相关问题

代码如下,我想将arr数组的元素以num(4)为分界进行分类,小于num的在左边,等于num的在中间,大于num的在右边
为什么加else的不加else得到的结果不一样,这三个if是完全互斥的呀,应该是加和不加是一样的效果,只是不加多了一步判断而已,但是也不可能同时满足多个条件呀,为什么结果会不一样呢?

img

img

结果1:加了else

img

结果2:没加else

img

  • 写回答

1条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-07-03 23:45
    关注

    如果你不加 else ,相当于 三个 if 是 并列的 ,也就是 三个 if 因为内部条件的原因,可能都会走一遍, 那就有可能跳过一些元素
    这种我建议你 单步调试一下看看运行数据流转

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月4日
  • 已采纳回答 7月4日
  • 创建了问题 7月3日

悬赏问题

  • ¥15 django5安装失败
  • ¥15 Java与Hbase相关问题
  • ¥15 ANSYS分析简单钎焊问题
  • ¥20 bash代码推送不上去 git fetch origin master #失败了
  • ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开
  • ¥15 在centos7安装conda
  • ¥15 c#调用yolo3 dll文件获取的数据对不上
  • ¥20 WPF 如何实现多语言,label 和cs(live Charts)中是否都能翻译
  • ¥15 STM32F103上电短路问题
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB