在VB.net中循环Console.ReadLine

时间:2013-11-04 08:55:17

标签: vb.net loops

我正在Visual Studio Express 2013中编写一个简单的薪酬估算计算器,并且已经输入了大部分代码。然而,我试图克服的一个主要障碍是进入点的循环,直到用户为其[程序]输入要处理的内容。现在,如果我没有弄错的话,这必须是一对一的操作。

  • 密钥验证,以便只接受数字 和
  • 循环本身

我一直在尝试实现某些事情,并且在某种程度上它们起作用,但最终失败了,所有这些都回到了程序无法将一个转换为另一个或从某个东西转换为其他东西。

我需要循环的代码是七个部分。完整部分的例子是;

Console.Clear()
Console.WriteLine("")
Console.WriteLine("Minute Entry for MONDAY.")
Console.WriteLine("")
Console.WriteLine("════════════════════════════════════════════════════════════════════════════════")
Console.WriteLine("Enter number then press ENTER to continue...")
Console.WriteLine("")
MonMin = Console.ReadLine()

1 个答案:

答案 0 :(得分:0)

如果您需要七个部分,则应该清楚需要一个循环七次的for循环:

For i As Integer = 0 To 6

Next

在此循环开始时,打印介绍性文字。您可以使用数组将i映射到一天(例如Console.WriteLine("Minute Entry for " & days(i)))

正如您已经提到的,ReadLine必须封装在另一个进行验证的循环中:

Dim validEntry = False
While Not validEntry
    MonMin = Console.ReadLine()
    'Do the validation
End While

验证必须检查数字输入。 E.g。

If IsNumeric(MonMin) Then validEntry = True

如果要打印错误消息,可以使用第二个变量来存储循环是否第一次运行:

Dim firstTime = True
While Not validEntry
    If Not firstTime Then Console.WriteLine("The entered value is not valid")
    firstTime = False
    'Go on ...
End While

验证后,您可能希望将MonMin保存到数组中。