else if (userAnswer.Equals("2"))
{
blankspace();
Console.WriteLine("How many squares would you like to see? ");
double num = Convert.ToInt32(Console.ReadLine());
while (0 >= num)
{
Console.WriteLine(num * num);
}
}
我的问题是我不知道从哪里开始。我以前只能输出一个方格,但我需要知道如何输出一个列表而不是一个数字。
答案 0 :(得分:1)
以下是您的代码目前所说的内容:
If the user input is 2:
Add a blank space -- Console.WriteLine() ??
Ask how many squares they want
Get their input
Get the square of their input while their input is less than 0
正如你所看到的,在你完成循环之前,情况会相当顺利。我认为你真正想做的是:
Get their input
Generate that number of perfect squares
要实现这一点,你的循环应该看起来像这样:
for (int i = 1; i <= num; i++)
{
Console.WriteLine(i * i);
}
这说明如下:
Start at 1
square the current number (i)
add 1 to the number (i)
repeat until you reach the user's number (num)
因此,如果输入为3
,您将获得1, 2, and 3
平方。如果你想对特定数字求平方,那么逻辑需要改变一点,但这至少应该达到你的基本目标。
编辑:如果你想保留while
循环,你真正需要做的就是添加num--
(从num减1)并将比较切换到0 <= num
(假设你想要正数)停止无限循环。这将按降序(3,2,1)生成正方形,但会完成相同的结果。
你正在进行无限循环,因为num
永远不会改变,所以如果它不是从0开始,它永远不会是0。