注册 登录
编程论坛 ASP技术论坛

这个数组怎么就取不出来!?!??!

sass2008 发布于 2008-05-28 16:13, 1571 次点击
<%
dim ok(35)
for a=1 to 23
if len(a)=1 then a="0" & a
ok(a)=a
MN=MN & " " & ok(a)
next
s=split(mn)


    Dim lsNums()
    redim lsNums(6)
   
    Randomize
    k = 0
    Do While k < 6
        aaa = Int(Rnd * ubound(split(mn))) + 1
         If s(aaa) <> "tttttttt" Then
            k = k + 1
           
            lsNums(k) =s(aaa)
             s(aaa) = "tttttttt"
            response.Write(lsNums(k)&"<br>")
         End If         
    Loop
for k=1 to 6
  response.write isnums(k) & "<BR>"
   next
%>

代码是先生成一个数组,然后随机取6个不相同的数,但为什么就只能显示,而不能把数组保存下来?!?就是说上述代码是有错的,把最后的for...next去掉就可以正常!!!!如何保存isnums中的值呀?
18 回复
#2
yms1232008-05-28 18:03
dim ok(35)
for a=1 to 23
if len(a)=1 then a="0" & a
ok(a)=a
MN=MN & " " & ok(a)
next
这里a是什么类型的变量?
#3
dhdhzzw2008-05-29 12:19
但为什么就只能显示,而不能把数组保存下来?!?
你想保存在哪?数据库中么?你没写保存代码,那怎么保存啊?
#4
hmhz2008-05-29 16:11
split(mn)
分解数组不是这样写的
而是 split(mn," ")
#5
sass20082008-05-29 21:19
2楼的:我的代码很明显是字符型.

其它楼的:大家没有看我最后的说明吗??!?!?!代码中的意思就是取出不重的随机数后是给lsNums(k)这个数组,在代码中我能用response.write 来显示它,但我在最后的for next中想把它显示出来就出错了!!!也就是说取出来的数似乎是"虚"的.......

不信的话,大家把一楼代码整个复制了调试.就会出错,把最后的for next去了就正常,编程序最怕就是出现这种没有理由的出错代码!!!!!

因为我随机取了数后,还要继续操作的,所以只用来显示是不够的!!!!
#6
multiple19022008-05-29 21:45
dim ok(35)
for a=1 to 23 ' a是整数型
if len(a)=1 then a="0" & a ' a是字符串
ok(a)=a ' a既是整数型又是字符串
MN=MN & " " & ok(a) ' a是整数型
next

这就是所谓矛盾的普遍性,对立统一无处不在……
#7
sass20082008-05-29 22:37
[bo][un]multiple1902[/un] 在 2008-5-29 21:45 的发言:[/bo]

dim ok(35)
for a=1 to 23 ' a是整数型
if len(a)=1 then a="0" & a ' a是字符串
ok(a)=a ' a既是整数型又是字符串
MN=MN & " " & ok(a) ' a是整数型
next

这就是所谓矛盾的普遍性,对立统一无处不在……


那假如有一组字符串,改为数组后.就按上面代码所示
dim ok(35)
for a=1 to 23
if len(a)=1 then a="0" & a
ok(a)=a
MN=MN & " " & ok(a)
next
s=split(mn)

把这组字符串处理成数组s,然后我要求随机取不重复的N个数,并最后再赋给另一个数组,最后显示出来,代码应该如何写?
#8
sass20082008-05-30 09:01
继续急顶....................................
#9
lxn3485672482008-05-30 14:09
redim
redim 就没有以前的了.
#10
lxn3485672482008-05-30 14:10
看错了。
#11
sass20082008-05-30 16:23
要求做的这个效果,并不难吧???或是改我的代码,或是重编也不是很麻烦.
#12
sass20082008-05-30 21:37
继续顶起来..........................................
#13
sass20082008-05-31 14:40
顶到能解决为止.....难道这类似功能的代码就没有人需要?
#14
sass20082008-06-01 13:58
看来还得靠自己想办法解决了......这问题不至于无解吧!?!?!?
#15
hmhz2008-06-01 14:11
很简单,你的类型错误

for k=1 to 6
  response.write isnums(k) & "<BR>"
next
红色部分改成
for k=1 to 6
  response.write lsNums(k)&"<BR>"
next

一句话,大小写之分,楼主不够细心
#16
sass20082008-06-01 21:12
[bo][un]hmhz[/un] 在 2008-6-1 14:11 的发言:[/bo]

很简单,你的类型错误

for k=1 to 6
  response.write isnums(k) & ""
next
红色部分改成
for k=1 to 6
  response.write lsNums(k)&""
next

一句话,大小写之分,楼主不够细心



看到你的消息,我第一个反应是,难道basic也敏感大小写了,但抱着试一试的态度,亲身验证,还是"类型不匹配"!!也就说地球人都知道的asp中vbscript,basic对大小写都不敏感!!!问题依然没有解决!看来我还得另想办法!
#17
multiple19022008-06-01 21:30
i和l是大小写的问题吗……
#18
sass20082008-06-02 09:09
[bo][un]multiple1902[/un] 在 2008-6-1 21:30 的发言:[/bo]

i和l是大小写的问题吗……


太汗了!!!!!!!!!!!!!!!!!!!!!!!!!
#19
hmhz2008-06-02 09:32
我也看走眼了,呵呵 ,不过复制我的是没问题的,我也是从他上面复制下来的,看着相似没注意,以为是大小写问题吧,哈哈
1