1

由于某种原因,这部分对我来说很难。其他一切都很好,但我似乎无法弄清楚如何让它重新询问输入是否> = 2 ...

if (minimumSides >= 2)

我得到这部分,但它讨厌minimumsides >= 2.

do
{
    Console.Write("Enter minimum number of sides >2: ");
    int.TryParse(inputminside, out minimumSides);                               
    if (minimumSides >= 2)
        Console.Write("Enter minimum number of sides >2: ");
    else
        inputminside = Console.ReadLine();
}
while (!int.TryParse(inputminside, out minimumSides));
4

4 回答 4

3

你快到了:

do {
    Console.Write("Enter minimum number of sides >2: ");
    inputminside = Console.ReadLine();
} while (!int.TryParse(inputminside, out minimumSides) || minimumSides < 2);
于 2012-10-14T12:31:20.580 回答
0

问题可能是在循环“inputminside”的第一次迭代期间尚未初始化吗?

于 2012-10-14T12:31:25.047 回答
0

这是您可以做到的一种方法:

var minimumSides  = 0;

while (minimumSides <=2)
{
    Console.Write("Enter minimum number of sides >2: ");
    int.TryParse(Console.ReadLine(), out minimumSides);
}

// carry on with your code here...
于 2012-10-14T12:33:29.410 回答
0

这就是你想要的——

do
{
   Console.Write("Enter minimum number of sides >2: ");
   inputminside = Console.ReadLine();
}
while (!int.TryParse(inputminside, out minimumSides) && minimumSides < 2);
于 2012-10-14T12:33:38.463 回答