首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

循环明明都有 编译却总说没有FOR解决办法

2012-01-29 
循环明明都有 编译却总说没有FOR哪位高手帮忙看看我明明写了FORj1ToshuStep1为什么一编译就说我NEXTj没有

循环明明都有 编译却总说没有FOR
哪位高手帮忙看看   我明明写了FOR   j=1   To   shu   Step   1为什么一编译就说我NEXT   j没有FOR呢   如能解决本人不胜感激!!!
For   i   =   1   To   heng   Step   1                                                                                                     '用循环穷举可能圆心
                        rx(i)   =   rx(i   -   1)   +   (finalx   -   prex)   /   heng   /   unit
                        For   j   =   1   To   shu   Step   1
                                ry(j)   =   ry(j   -   1)   +   (finaly   -   prey)   /   shu   /   unit
                                rd(i,   j)   =   Sqr(rx(i)   ^   2   +   ry(j)   ^   2)
                                If   Abs(rd(i,   j)   -   rs)   >   2   Then
                                      GoTo   xiaci
                                End   If
                                If   rs   <   rd(i,   j)   Then                                                                                             '半径小于原点与圆心距离的情况
                                      x0(i,   j)   =   qiux0(rs,   rx(i),   ry(j),   angle)
                                      If   x0(i,   j)   >   3   Or   x0(i,   j)   <   0   Then
                                            GoTo   xiaci
                                      End   If
                                      tiaok(i,   j)   =   (pochang   -   x0(i,   j))   /   tiaosh                                                                                       '土条宽度


                                      tiaosh1(i,   j)   =   Fix((Sqr(rs   ^   2   -   (ry(j)   -   pogao)   ^   2)   +   rx(i)   -   pochang)   /   b)   +   1         '坡顶条数
                                      For   xi(i,   j)   =   x0(i,   j)   To   x0(i,   j)   +   tiaok(i,   j)   *   (tiaosh(i,   j)   +   tiaosh1(i,   j))   Step   tiaok(i,   j)       'xi对应的各个土条力矩的计算
                                              If   xi(i,   j)   <=   pochang   Then
                                                    yi(i,   j)   =   qiuyi(rs,   rx(i),   ry(j),   xi(i,   j),   angle,   tiaok(i,   j))
                                              ElseIf   xi(i,   j)   >   pochang   Then
                                                    yi(i,   j)   =   qiuyid(rs,   rx(i),   ry(j),   xi(i,   j),   pogao,   tiaok(i,   j))
                                              End   If
                                              area(i,   j)   =   mianj(tiaok(i,   j),   yi(i,   j))
                                              sinp(i,   j)   =   (xi(i,   j)   +   tiaok(i,   j)   /   2)   /   rs
                                              cosp(i,   j)   =   Sqr(1   -   sinp(i,   j)   ^   2)
                                              For   n   =   1   To   20   Step   1
                                                      ceng(n)   =   Line1(n).y1   /   unit
                                                      gama(n)   =   Val(fg1.TextMatrix(n,   2))
                                                      fi(n)   =   Val(fg1.TextMatrix(n,   3))


                                                      ci(n)   =   Val(fg1.TextMatrix(n,   4))
                                                      duan(0)   =   0
                                                      If   ceng(n)   <=   xi(i,   j)   *   Tan(angle)   And   ceng(n)   > =   xi(i,   j)   *   Tan(angle)   -   yi(i,   j)   Then
                                                            duan(n)   =   xi(i,   j)   *   Tan(angle)   -   ceng(n)   -   duan(n   -   1)
                                                            bili(n)   =   gama(n)   *   duan(n)   /   yi(i,   j)
                                                            gamap(i,   j)   =   bili(n)   +   gamap(i,   j)
                                                      ElseIf   ceng(n)   <=   xi(i,   j)   *   Tan(angle)   -   yi(i,   j)   And   Line1(n).Visible   =   True   Then
                                                            duan(n)   =   xi(i,   j)   *   Tan(angle)   -   yi(i,   j)   -   ceng(n   -   1)
                                                            bili(n)   =   gama(n)   *   duan(n)   /   yi(i,   j)
                                                            gamap(i,   j)   =   bili(n)   +   gamap(i,   j)
                                                            tanfi(i,   j)   =   Tan(fi(n))
                                                            GoTo   jixu
                                                      End   If


                                              Next   n
jixu:                                     wi(i,   j)   =   area(i,   j)   *   gamap(i,   j)
                                              mr(i,   j)   =   wi(i,   j)   *   cosp(i,   j)   *   tanfi(i,   j)   +   ci(n)   *   tiaok(i,   j)   *   cosp(i,   j)   +   mr(i,   j)
                                              mt(i,   j)   =   wi(i,   j)   *   sinp(i,   j)   +   mt(i,   j)
                                      Next   xi(i,   j)
                                      fm(i,   j)   =   mr(i,   j)   /   mt(i,   j)
                                      If   fm(i,   j)   <   fmin   Then
                                            fmin   =   fm(i,   j)
                                            rmin   =   rs
                                            xmin   =   rx(i)
                                            ymin   =   ry(j)
                                ElseIf   rs   =   rd(i,   j)   Then
                                            GoTo   xiaci
                                End   If
                        Next   j
xiaci:       Next   i

[解决办法]
编译却说没有FOR 并不一定就是For循环没配对,很有可能是IF与END IF没有配对
你的情况就是这样
If rs < rd(i, j) Then '半径小于原点与圆心距离的情况
For xi(i, j) = x0(i, j) To x0(i, j) + tiaok(i, j) * (tiaosh(i, j) + tiaosh1(i, j)) Step tiaok(i, j) 'xi对应的各个土条力矩的计算
Next xi(i, j)
If fm(i, j) < fmin Then
ElseIf rs = rd(i, j) Then
End If
看看以上几句就是IF与END IF没有配对
------解决方案--------------------


仔细点看看if, 有没有配对

主要这句话就是说,有没有配对的东西

热点排行