sass2008 发表于 2008-5-28 16:13

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

<%
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中的值呀?

yms123 发表于 2008-5-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是什么类型的变量?

dhdhzzw 发表于 2008-5-29 12:19

但为什么就只能显示,而不能把数组保存下来?!?
你想保存在哪?数据库中么?你没写保存代码,那怎么保存啊?

hmhz 发表于 2008-5-29 16:11

split(mn)
分解数组不是这样写的
而是 split(mn," ")

sass2008 发表于 2008-5-29 21:19

2楼的:我的代码很明显是字符型.

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

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

因为我随机取了数后,还要继续操作的,所以只用来显示是不够的!!!!

multiple1902 发表于 2008-5-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

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

sass2008 发表于 2008-5-29 22:37

[quote][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

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

那假如有一组字符串,改为数组后.就按上面代码所示
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,然后我要求随机取[u]不重复[/u]的N个数,并最后[u]再赋给另一个数组[/u],最后显示出来,代码应该如何写?

sass2008 发表于 2008-5-30 09:01

继续急顶....................................

lxn348567248 发表于 2008-5-30 14:09

redim

redim 就没有以前的了.

lxn348567248 发表于 2008-5-30 14:10

看错了。

sass2008 发表于 2008-5-30 16:23

要求做的这个效果,并不难吧???或是改我的代码,或是重编也不是很麻烦.

sass2008 发表于 2008-5-30 21:37

继续顶起来..........................................

sass2008 发表于 2008-5-31 14:40

顶到能解决为止.....难道这类似功能的代码就没有人需要?

sass2008 发表于 2008-6-1 13:58

看来还得靠自己想办法解决了......这问题不至于无解吧!?!?!?

hmhz 发表于 2008-6-1 14:11

很简单,你的类型错误

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

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

sass2008 发表于 2008-6-1 21:12

[quote][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

一句话,大小写之分,楼主不够细心 [/quote]


看到你的消息,我第一个反应是,难道basic也敏感大小写了,但抱着试一试的态度,亲身验证,还是"类型不匹配"!!也就说地球人都知道的asp中vbscript,basic对大小写都不敏感!!!问题依然没有解决!看来我还得另想办法!

multiple1902 发表于 2008-6-1 21:30

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

sass2008 发表于 2008-6-2 09:09

[quote][bo][un]multiple1902[/un] 在 2008-6-1 21:30 的发言:[/bo]

i和l是大小写的问题吗…… [/quote]

太汗了!!!!!!!!!!!!!!!!!!!!!!!!!

hmhz 发表于 2008-6-2 09:32

我也看走眼了,呵呵 ,不过复制我的是没问题的,我也是从他上面复制下来的,看着相似没注意,以为是大小写问题吧,哈哈

页: [1]

编程论坛