0

コンソール アプリケーションの最後に、Enter キーを押してプログラムを終了するか、s を入力して別の検索を実行するようユーザーに求める手順があります。私が抱えている問題は、ユーザーがプログラムの最後に何を入力しても問題ありません。ユーザーが s と入力すると、プログラムが最初からやり直して、ユーザーが別の検索を実行できるようにしたいと考えています。このプログラムは手続き型であり、ユーザーに名前を入力して検索するように求めるプログラムの先頭に戻る方法を見つける必要があります。どうすればこれを達成できますか?

私が困っている手順は次のとおりです。

Private Sub terminateProgram()
    Console.Write("Press the enter key to end the program or press s to search again")
    If (CStr(Console.ReadLine()) = "s") Then
        Console.WriteLine("It worked")
    Else
        Console.Read()
    End If

注: ご覧のとおり、少なくとも入力されている "s" をキャプチャするために、ウィンドウに "うまくいきました" と書いているだけです。

4

1 に答える 1

1

プログラムをループで構成し、メソッドがブール値を返すようにします。これにより、メソッドが「False」を返す限り、プログラムは実行され続けます。

Sub Main()
   Do

   Loop While Not terminateProgram()
End Sub

Public Function terminateProgram() As Boolean
    Console.Write("Press the s key to search again or any other key to end the program")
    Return Console.ReadKey(True).KeyChar.ToLower() <> "s" 
End Function
于 2012-04-08T20:57:58.507 に答える