我认为在这里使用IF语句是错误的,不确定是否为此目的有更好的选择。程序对选项1)新闻按我的要求运行,但对选项2)历史价格按我的要求却无法运行。
Module Module1
Dim ticker
Sub Main()
System.Console.WriteLine("Welcome")
Module1.snd()
End Sub
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
If System.Console.ReadLine = "1" Then Module1.News() : If System.Console.ReadLine = "2" Then Module1.hp()
End Sub
Sub News()
System.Console.WriteLine("News, pick a command:")
System.Console.WriteLine("1) OTCM")
If System.Console.ReadLine = "1" Then
System.Console.WriteLine("Give me ticker:")
ticker = System.Console.ReadLine
Process.Start("http://www.otcmarkets.com/stock/" + ticker + "/news")
Module1.snd()
End If
End Sub
Sub hp()
System.Console.WriteLine("Historical Prices/Volume, pick a command:")
System.Console.WriteLine("1) Google Finance")
If System.Console.ReadLine = "1" Then
System.Console.WriteLine("Give me ticker:")
ticker = System.Console.ReadLine
Process.Start("http://www.google.com/finance/historical?q=%3A" + ticker + "&ei=LWsXU9inBcj66gHZLA")
Module1.snd()
End If
End Sub
终端模块
如果调用Console.Readline,则控制台将每次都等待用户输入一行。尝试选择案例语句:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Select Case Console.Readline
Case "1" : Module1.News()
Case "2" : Module1.hp()
Case Else : Module1.snd()
End Select
End Sub
这将读取一行,然后切换到键入的大小写。Case else
处理不是“ 1”或“ 2”的所有内容(再次调用相同的子项以等待新的输入)。
对于史蒂文:您还可以将行读入字符串变量,并使用If / Then / Else对此求值,如下所示:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Dim UserInput as String = Console.ReadLine
If UserInput = "1" Then
News()
ElseIf UserInput = "2" Then
Hp()
Else
snd()
End If
End Sub
诀窍是相同的,您只需要读取一行,然后评估并处理输入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句