2013-10-30 49 views
0

我需要编写一个程序,它可以打印1到100之间的数字以及3个打印“d3”可打印的数字,5个打印“d5”可以打印的数字,并且如果两个都可以打印“D53”,但在VB我得到一个错误的第二行“为I = 1到100”:无效的外部程序“错误:无效的外部过程

Dim I As Integer 

For I = 1 To 100 
    If I Mod 3 And I Mod 5 Then Print "d53" 

    Else: If I Mod 3 Then Print "d3" 

    Else: If I Mod 5 Then Print "d5" 

Next I 
end sub 
+0

你是否有这个代码里面的一个Sub或Function? I.E. 'Sub Main ....你的代码.... End Sub'我可以看到一个End Sub,但是上面的代码中没有Sub – Steve

+0

这是在Sub Sub()中吗? –

回答

0
If (i Mod 3) = 0 And (i Mod 5) = 0 Then 
    Print ... 
ElseIf (i Mod 3) = 0 Then 
    Print ... 
ElseIf (i Mod 5) = 0 Then 
    Print ... 
End If 
+0

它仍然给我编译错误:外部程序无效,突出显示第二行,我改变了所有行(我mod#)= 0 –

1

看来,你的代码是每一个功能之外,或Sub定义在你的类或模块中
你的代码应该被一个Sub或Function所包围(并且看着你的孤独End Sub我想你需要一个Sub

Sub Main 
    Dim I As Integer 

    For I = 1 To 100 
     Console.Write(I) 
     If (I Mod 3) = 0 And (I Mod 5) = 0 Then 
      Console.WriteLine"=d53" 

     Else If (I Mod 3) = 0 Then 
      Console.Write("=d3") 

     Else If (I Mod 5) = 0 Then 
      Console.Write("=d5") 
     End if 
     Console.WriteLine() 
    Next I 

End Sub