-4

次のコードが機能していないため、ヘルプが必要です。

    Do While answer = "Y" Or "y"
        num = "0"
        Console.WriteLine("Enter number")
        num = Console.ReadLine
        total = total + num
        Console.WriteLine("Do you want to continue Y/N")
        answer = Console.ReadLine
    Loop
4

1 に答える 1

5

VB.NET では、論理演算子とビット演算子は比較演算子よりも優先順位が低いため、

Do While answer = "Y" or "y"

求めるのと同じ

Do While (answer = "Y") or "y"

最初の条件については、answer = "Y"true または false にすることができます。2 番目の条件について"y"は、true でも false でもありません。これは文字列であるため、ステートメントは意味を持ちません。

2 番目のテストには変数 test to を含める必要があります。このような :

Do While answer = "Y" Or answer = "y"

answer = "y"式が true であるかどうかにかかわらず、コンパイラによって、Trueまたはコンパイラによって解釈されます。False

それは、「y値は私のanswer変数内にありますか?」と尋ねるようなものです。

現在行っているようにブール値 (True または False)に変換しようとするyと、次のような変換エラーが発生します。

于 2013-05-31T18:01:27.690 に答える