我在逻辑上思考代码的方式有点问题。 我想做的是让用户键入他们想要的数字,然后问他们要从哪个数字序列开始。然后,我将打印出这些数字。因此,如果用户输入7,然后输入4,则结果将是4 5 6 7 8 9 10。 到目前为止,这是我的代码
int userInInt, userIntStart;
Console.Write("How many integers do you want to print? ");
userInInt = Int32.Parse(Console.ReadLine());
Console.Write("What is the first integer you want printed? ");
userIntStart = Int32.Parse(Console.ReadLine());
for(int counts = userIntStart; userIntStart <= userInInt; userIntStart++)
{
Console.WriteLine(userIntStart);
}
在执行完for循环后,我意识到它将只是递增起始编号,直到userInInt不再是我想要的。我花了一段时间尝试找出我还需要什么。 谢谢
答案 0 :(得分:0)
如下更改您的for循环
int userInInt, userIntStart;
Console.Write("How many integers do you want to print? ");
userInInt = Int32.Parse(Console.ReadLine());
Console.Write("What is the first integer you want printed? ");
userIntStart = Int32.Parse(Console.ReadLine());
for(int counts = userIntStart; counts < userIntStart + userInInt; counts++)
{
Console.WriteLine(counts);
}
您的初始代码的问题是您的for循环错误,首先应将初始值分配给counts
,然后应在第二个arg中提供正确的退出条件,第三个arg是增量步骤,即1,看看for
循环语法here。
答案 1 :(得分:0)
为变量赋予的名称对于理解代码很重要,并且使思考起来更容易。 userInInt
不能反映变量的用途。
Console.Write("How many integers do you want to print? ");
int count = Int32.Parse(Console.ReadLine());
Console.Write("What is the first integer you want printed? ");
int start = Int32.Parse(Console.ReadLine());
通常i
用作循环变量,因为在数学上它用作索引。您可以选择不同的方式来制定回路。最典型的是
for (int i = 0; i < count; i++)
{
Console.WriteLine(start + i);
}
但是您也可以将start
添加到循环变量的起始值和计数中。
for (int i = start; i < count + start; i++)
{
Console.WriteLine(i);
}
您甚至可以增加多个变量:
for (int i = 0; i < count; i++, start++)
{
Console.WriteLine(start);
}
答案 2 :(得分:0)
首先在代码中,您需要在增量步骤(++)中使用正确的变量名称。其次请注意,您需要使用一个单独的变量来跟踪整数数量。就我而言,我为此使用了变量“ i”。希望它会有所帮助。
int userInInt, userIntStart;
Console.Write("How many integers do you want to print? ");
userInInt = Int32.Parse(Console.ReadLine());
Console.Write("What is the first integer you want printed? ");
userIntStart = Int32.Parse(Console.ReadLine());
int i = 0;
for (int counts = userIntStart; i<userInInt; counts++,i++)
{
Console.WriteLine(counts);
}
Console.ReadLine();