私は次の方法をとっており、入力部分を検証部分から分離したい、つまりある方法(ReadInput
)で入力を読み込み、入力値が別の方法(AssertIsDouble
)のdouble
の型であることをアサーションしたい。 。どうやってやるの?入力を2つの別々のメソッドに分割する方法は?
public static double ReadInput()
{
double number = 0;
while (true)
{
if (Double.TryParse(Console.ReadLine(), out number) && number > 0)
{
return number;
}
else
{
Console.WriteLine("Please, input a number greater than zero (0).");
}
}
}
私は次のことを試してみましたが、それはうまくいきませんでした:
public static double ReadInput()
{
double number = 0;
while (true)
{
AssertIsDouble(Console.ReadLine());
}
}
private static double AssertIsDouble(string input)
{
double number = 0.0;
if (Double.TryParse(input, out number) && number > 0)
{
return number;
}
else
{
Console.WriteLine("Please, input a number greater than zero (0).");
}
}
@Valentinいいえプログラムフローを制御するために例外を使用したくないです。 – TheLethalCoder
あなたはどこで番号を返すのですか? –
あなたは無限のループを持っています... – Orangesandlemons