おそらく私の質問からわかるように、私はコーディングに非常に慣れていません。物理学で使われている数式を計算する電卓を作ろうとしています。ただし、少なくともこの例では、ユーザーがAの値を入力する前に、コードは数式を実行します。次に例を示します。
case "f = ma":
Console.WriteLine("Type the value for M in KG:");
var FM = Console.Read();
Console.WriteLine("Type the value for A in M/S:");
var FA = Console.Read();
var FMARes = FM * FA;
Console.WriteLine("Your answer (in Newtowns) is " + FMARes);
break;
変数Aに値が割り当てられているかどうかを確認し、変数に値が割り当てられた後でのみ数式を実行するにはどうすればよいですか?ありがとう。
Readの代わりにReadLineを使用する必要があります。また、ユーザーが結果を確認できるように、下部で別のReadLineを実行する必要があります。そして...ユーザーが有効な番号を入力したことを確認する必要があります。これは、重複コードを回避するために少しリファクタリングすることができます-など-しかし、これがあなたのために働くかどうか見てください!がんばろう!!
static void Main(string[] args)
{
double fm;
double fa;
// Use ReadLine instead of Read
Console.WriteLine("Type the value for M in KG:");
var input = Console.ReadLine();
// Now you need to cast it to a double -
// -- but only if the user entered a valid number
if (!double.TryParse(input, out fm))
{
Console.WriteLine("Please enter a valid number for M");
Console.ReadLine();
return;
}
Console.WriteLine("Type the value for A in M/S:");
input = Console.ReadLine();
if (!double.TryParse(input, out fa))
{
Console.WriteLine("Please enter a valid number for A");
Console.ReadLine();
return;
}
// Now we have valid values for fa and fm
// It's a better programming practice to use the string format
// intead of + here...
Console.WriteLine($"Your answer (in Newtowns) is {fm * fa}");
// You need another read here or the program will just exit
Console.WriteLine("Press Enter to end the program");
Console.ReadLine();
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加