|
主题: 求最大数的代码为什么错?
|
 sywh
职务:普通成员
等级:1
金币:0.0
发贴:66
|
#12002/3/10 12:11:38
我想编的是找最大数的过程,代码如下: a = new Array(23, 234, 2, 435, 245, 23, 45, 2, 45, 67, 687, 56); function max (a) { var a; var max1 = a.pop(); for (var i = a.length; i<=0; ) { if (max1 max1 = a[i]; } i--; } return max1; } trace (max (a)) 应该输出的是687呀,它为什么输出56?
|
 turbine
职务:普通成员
等级:1
金币:0.0
发贴:10
|
#22002/3/10 12:24:02
i>=0 还有var a 没有用
|
 金山羊
职务:普通成员
等级:4
金币:10.0
发贴:827
|
#32002/3/10 14:58:55
a = new Array(23, 234, 2, 435, 245, 23, 45, 2, 45, 67, 687, 56); function max (a) { var max1 = a.pop(); for (var i = a.length ; i>=0; i--) { if (max1 max1 = a[i]; } } return max1; } trace (max (a))
//your judgement is wrong
5d.cn FLASHDEP TECHNOLOGY SUPPORT JAVA/ACTIONSCRIPT/javascript CFML/JSP/COLDFUSION/FLASH REMOTING JRUN/COLDFUSIONMX FLASH/DREAMWEARER
|
 sywh
职务:普通成员
等级:1
金币:0.0
发贴:66
|
#42002/3/10 16:56:59
谢谢金山羊,可是我觉得咱俩写得都差不多呀,找了半天也找不出来到底哪儿出了毛病,能不能请金山羊说清楚些。
|
 金山羊
职务:普通成员
等级:4
金币:10.0
发贴:827
|
#52002/3/10 17:32:45
for (var i = a.length ; i>=0; i--)
5d.cn FLASHDEP TECHNOLOGY SUPPORT JAVA/ACTIONSCRIPT/javascript CFML/JSP/COLDFUSION/FLASH REMOTING JRUN/COLDFUSIONMX FLASH/DREAMWEARER
|
 东方楚楚
职务:普通成员
等级:1
金币:0.0
发贴:44
|
#62002/3/10 21:39:15
i--不应该出现在循环体内,而应放于判断体内,作为条件判断的修正。
|
 金山羊
职务:普通成员
等级:4
金币:10.0
发贴:827
|
#72002/3/11 8:12:34
wrong you tried? It will be a infinite loop! find it problem!
5d.cn FLASHDEP TECHNOLOGY SUPPORT JAVA/ACTIONSCRIPT/javascript CFML/JSP/COLDFUSION/FLASH REMOTING JRUN/COLDFUSIONMX FLASH/DREAMWEARER
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#82002/3/11 21:05:21
sywh在上个帖子中说 引用: 应该输出的是687呀,它为什么输出56?
i的值在不在for()中并不重要,你把它放在循环体最后,和放在for()中是一样的。 由于画蛇添足地加了一句: var a; 使得变量a取代了原来的array object, 所以a.length当然就为0了,这样,循环只执行了一次,因而你总是得到数组最后一个数
|