ruby – 数组中的最大值和最小值
发布时间:2020-12-17 01:52:50 所属栏目:百科 来源:网络整理
导读:我编写了一个 Ruby代码来从数组中获取最大值和最小值.代码打印最大值(8)正确,但它不打印最小值(2).请告诉我代码中出了什么问题. class MaxMinArray def MaxMinMethod() array = [4,2,8,3,5] maxNo = array[0] minNo = array[0] arrayLength = array.length f
我编写了一个
Ruby代码来从数组中获取最大值和最小值.代码打印最大值(8)正确,但它不打印最小值(2).请告诉我代码中出了什么问题.
class MaxMinArray def MaxMinMethod() array = [4,2,8,3,5] maxNo = array[0] minNo = array[0] arrayLength = array.length for i in 1..arrayLength if array[i].to_i > maxNo maxNo = array[i] end if array[i].to_i < minNo minNo = array[i] end end puts "Maximum no. in the given array: " + maxNo.to_s puts "Minimum no. in the given array: " + minNo.to_s end end MaxiMinArrayObj = MaxMinArray.new MaxiMinArrayObj.MaxMinMethod() 解决方法
这是两件事的结合.
>首先,你在1..arrayLength中迭代i,迭代遍历数组中的最后一个元素.在最后一个元素之后,array [i]为nil.>其次,如果array [i] .to_i< minNo,即使array [i]不是数字也可以满足. 因此,由于nil.to_i为0,所以在最后一个元素之后由array [i]返回的nil满足条件,并且将nil分配给minNo. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |