为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

1 回答

26行换成这样就对了,if(nums[i] < min),因为还有等于的情况。以下是排序的详细过程:

nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };

min = max = nums[0] = 61;

i = 0,nums[0](61)<= max(61),else执行,min = nums[0] = 61;

i = 1,num[1](23) <= max(61),else执行,min = nums[1] = 23;

i = 2,nums[2](4) <= max(61),else执行,min = nums[2] = 4;

i = 3,nums[3](74) > max(61),else语句不执行,此时min = 4;

i = 4,nums[4](13) <= max(74),else执行,min = 13,此时程序就已经显现出错误。

i = 5,nums[5](148) > max(74),else语句不执行,min = 13;

i = 6,nums[6](20) <= max(148),else执行,min = 20;

    所以你的代码运行结果是20.算最小值其实和最大值没有关系,与max进行比较,逻辑上说不通啊。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1162913    人
  • 解答问题       17550    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

求大神解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信