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

这样写哪里出错了

for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素        // 如果当前值大于max,则替换max的值 if(nums[i]<nums[i+1]){    nums[i]=nums[i+1]; max=nums[i]; }                // 如果当前值小于min,则替换min的值        if(nums[i]<nums[i+1]){   nums[i+1]=nums[i];    min=nums[i]; } 这样写哪里错了?

正在回答

2 回答

i+1越界了

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

慕设计5029318 提问者

越界是什么意思?是不是说数组中如果共有5个数,那么如果i等5的时候,i+1就超出了数组当中的值?
2017-08-04 回复 有任何疑惑可以回复我~
#2

April1024 回复 慕设计5029318 提问者

若nums.length=5,当i=4的时候,那么i+1=5,则nums[i+1]变为nums[5],你从0开始的,数组里面是达不到nums[5]的.
2017-08-07 回复 有任何疑惑可以回复我~
#3

70kg111 回复 慕设计5029318 提问者

当i+1=5时, 表示的是数组中的第六个元素,而数组中只有五个元素,所以会报错
2017-08-14 回复 有任何疑惑可以回复我~

for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素 

 if(nums[i]>max){  max=nums[i]; }         

if(nums[i]<min){   min=nums[i]; } 

}

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

举报

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

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

进入课程

这样写哪里出错了

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