2016-10-03 4 views
1

私は達成しようとしていることはかなり明白だと思いますが、それはまた私がコーディングに新しいことも明らかです。これは私のコードです、それは "プログラムを実行しますか?"になるまでうまく動作します。この場合、ユーザーは常に「はい」と入力したように動作します。私はこれについて完全に間違っているのか、それとも間違って書いているのですか?ブーリアンを使用して質問しますか?

+0

です。あなたは何にも「UserIput2」を割り当てていません。あなたは単に答えを読んで、結果を破棄します。 – Rob

+3

さらに、あなたは 'UserIput2 =(true)'を割り当てていません。したがって、比較のために '=='を使用します。 'UserIput2 == true'またはif(UserInput2) – Sherlock

答えて

1

これを試してください。ここでは、UserIput2に入力を割り当てて、それを「はい」または「いいえ」と比較しています。あなたはそれに応じてそれを変更することができます

string mystring = "What is your name?"; 
     Console.WriteLine(mystring); 
     string UserInput = Console.ReadLine(); 
     string Name = UserInput; 
     Console.WriteLine("Hello " + Name); 
     Console.WriteLine("Would you like to run a program?"); 
     string UserIput2= Console.ReadLine(); 
     if (UserIput2.ToLower() == "yes") Console.WriteLine("What would you like to run? (Type help for a list of valid programs)"); 
     else if (UserIput2.ToLower() == "no") Console.WriteLine("Goodbye"); 
     Console.ReadLine(); 
     Console.ReadLine(); 
+0

Alright .ToLowerは大文字小文字にすることができますが、完全に大文字小文字を無視しません。どのように私はそれを無視するだろうか?すなわち、誰かが「はい」と入力してもそれを読ませたいと思った場合です。そして第二に、これは最も効率的な方法(yes/noを使用する)かブーリアンの方がより効果的ですか? – Anath3ma

-1

booleanタイプはバイナリです。このタイプはライトスイッチのように動作すると想像してください。 trueとオフfalseの2つの状態のみを持つことができます。このデータ型は、2つの可能な状態の切り替えにのみ使用します。

例C#:あなたの現在のコードで

bool result = (2 > 1); //Will result in true because 2 is great as 1 

bool result = (2 < 1); //Will result in false because 2 is not less as 1 
1

あなたはユーザー入力捨てる

Console.WriteLine("Would you like to run a program?"); 
bool UserIput2; 
Console.ReadLine(); // <- input is discarded 

代わりに、あなたはUserIput2にそれを割り当てる必要があります。

Console.WriteLine("Would you like to run a program?"); 

// we assume that answer is positive (UserIput2 == true) 
// if and only if user put "yes" in any register ("YES", "Yes", "yes"...)  
bool UserIput2 = String.Equals(
    Console.ReadLine(), 
    "yes", 
    StringComparison.OrdinalIgnoreCase); 

if伴う別の問題:=を比較しない、を割り当てるある:

if (UserIput2 = (true)) Console.WriteLine(...); 

UserIput2trueを割り当て、をチェック意味します。適切な実装は

if (UserIput2) 
    Console.WriteLine("What would you like to run? (Type help for a list of valid programs)"); 
else 
    Console.WriteLine("Goodbye"); 
関連する問題