我有一个简单的程序来平均十个(用户定义的)数字,然后打印结果。在程序结束时,我想打印Would you like to average a new set of numbers? (Y/N)
如果用户输入y
比我希望程序从顶部再次执行。如果用户输入n
比程序应该关闭。我已经尝试对此进行研究,但只找到了让整个控制台退出并重新打开的方法,这不是我想要的。
问问题
3577 次
2 回答
2
要检测用户输入的内容,您有几个选项:
Console.ReadKey()
将读取下一个按键。然后,您可以使用一个简单的Select Case
分支来选择要做什么。
您还可以使用:
Console.ReadLine()
这将返回一个字符串(在用户按下回车后)。然后,您可以使用简单的 If 语句来确定字符串中的内容(如果输入的不是“y”或“n”,则重复查询。)
例子:
Shared Sub Main()
While True
AverageNums()
Console.WriteLine( "Do you want to run again? (Y/N)" )
Dim key = Console.ReadKey()
If key.Key = ConsoleKey.N Then
Exit While
End If
End While
End Sub
Shared Sub AverageNums()
' ...
End Sub
于 2013-03-05T22:07:24.943 回答
0
我的反应可能有点晚了,但我想我会分享一个实现 try-catch 方法的紧凑版本。
Sub Main()
Do
Try
Console.Write("Enter a value: ")
Console.ReadLine()
'...
SomeProcedure()
Catch ex As Exception
Console.WriteLine(ex.ToString)
Finally
Console.Write("Enter another value? (N for No) ")
End Try
Loop Until Console.ReadLine() = "N"
End Sub
Sub SomeProcedure()
'...
End Sub
于 2016-11-12T13:36:07.217 回答