######文字列を入力するとエラーの表示が出るようにしたいのですが、どのようにすれば良いでしょうか。
負の数が入力されるまで、キーボードから繰り返し数値を入力するプログラムを作成中です。
以下が現在のコードです。負の数が入力されると終了するようになっています。空白はエラー表示が出るようになっています。
その他、修正推奨箇所がございましたら、よろしければ教えてください。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace ConsoleApp 8{ 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 var num = 0; 14 while(num >= 0) 15 { 16 Console.Write("負数を入力してください:"); 17 var line = Console.ReadLine(); 18 if (line == "") 19 { 20 Console.WriteLine("入力結果:エラー"); 21 continue; 22 } 23 num = int.Parse(line); 24 Console.WriteLine($"入力結果;{num}"); 25 } 26 Console.WriteLine("負数が入力されました"); 27 } 28 } 29}
〇〇〇と入力したら、△△△となることを期待して、コードを書いたが、結果は□□□となってしまう・・・というように書きましょう。
intParseに失敗したら、で良いのでは?
ご回答ありがとうございます。
そのように書く必要がある理由を具体的に教えてください。
まずはintParseに失敗したらで試してみます。
ちなみに数値への変換成功・失敗も同時に確認できるTryParseというメソッドもあります
何が問題なのか明示されてないための指摘ですね。
自身で要件に対して取り組まれたことがなく「どうしたら」は質問ではなく作業依頼です。
> そのように書く必要がある理由を具体的に教えてください。
あなたの質問はコードを丸投げして赤の他人にデバッグしてくれといってるのと同じだと認識できませんか? 認識できない、もしくは認識してるがそれの何が悪いと思っているなら、話は通じない人なので、ほっときます。
具体的な回答ではなかったので単純に疑問がございました。質問への回答は義務ではないはずですから、そこであえて抽象的な修正依頼をする理由もわからなかったので。いずれにしても喧嘩しにきたわけではないので、不快にさせてしまったら申し訳ございませんでした。
コード丸投げで質問するのは良くないというご意見だったということですね。大変貴重なご意見ありがとうございました。今後はご回答をいただけるように質問内容には気を付けます。
TryParseメソッド教えてくださりありがとうございます。そちら参考にさせていただいてコード書き直してみます。
teratailにてご質問をされるのでしたら、以下をご確認ください。
https://teratail.com/help/question-tips#questionTips1
負数としか表示していませんが、負の整数限定は、正しい仕様ですか?
また、コードレビュー希望なら、詳細な仕様の提示は必須です。
仕様不明では、このように成否が判断できません。
int.Parse に失敗したら数値ではないというのは非常に具体的では?
どこが抽象的なのかわからないんですが。
喧嘩とか不快とかなぜそのような言葉が出てくるのかも意味が分かりません。
int.Parseに失敗したらは非常にわかりやすいご回答でした。誤解を招いてしまい大変申し訳ございません。
すみません、後ほど修正させていただきます。皆様ありがとうございました。今後は気をつけます。