-4
class Class1
{
    public int userInput(int user_Input)
    {
        int final_Value;
        for ( int = 1; int < = user_Input; i++)
        {
            final_Value = int * user_Input;
        }
        return final_Value;
    }
}

我想将 final_value 用于主程序,但它在调试时出错.. 这样做的目的是从用户那里获取输入,例如说 5,这个循环将这个值乘以 5 x 4 x 3 x 2 x 1 并给出我们的输出。我们可以在主程序中使用它。我是 C# 的初学者。

4

6 回答 6

4

int是 C# 中的关键字,您不能将其用作变量名。将其更改为其他内容。

for ( var i = 1; i < = user_Input; i++)
{
    final_Value = i * user_Input;
}
于 2013-01-29T20:34:24.453 回答
1

上面代码的主要问题是您在应该使用变量的地方使用“int”。要编译它,您所要做的就是将您尝试使用 int 的位置转换为使用变量。

for(int i = 1; i <= user_Input; i++)
{
    final_Value = i * user_Input;
}

更改为上述内容应该可以编译,但现在您需要在循环中获取正确的逻辑。由于 final_Value 只能保存一个整数值,因此每次循环时,您都在覆盖它,而不是乘以前一个值。

希望第二部分足以暗示您将能够弄清楚如何找到答案。

于 2013-01-29T20:48:07.213 回答
0

好吧,您还没有告诉我们错误是什么,但第一个错误是您将遇到编译错误。你的 for 循环构造不正确,因为你错过了 i 的声明,尽管你试图增加它。试试这个:

int final_Value;
for ( int i = 1; i <= user_Input; i++)
{
    final_Value *= user_Input;
}
于 2013-01-29T20:34:20.037 回答
0

你需要有一个迭代器的变量

class Class1
{
    public int userInput(int user_Input)
    {
        int final_Value = 1;

        for ( int i = 1; int <= user_Input; i++)

           final_Value *= i; // equal to : final_Value = final_Value * i;


          return final_Value;

    }
}

final_Value最初将是1然后将乘以i每个增量。

于 2013-01-29T20:34:24.573 回答
0

您忘记int i为循环声明一个变量(在本例中为 )并初始化该final_Value变量:

public int userInput(int user_Input)
{
    int final_Value = 1;
    for (int i=1; i<=user_Input; i++)
    {
        final_Value *= i;
    }
    return final_Value;
}
于 2013-01-29T20:34:34.683 回答
0

大多数其他答案似乎都在抛弃final_value循环中的价值。尝试:

public int userInput(int user_Input)
{
    int final_Value = 1;

    for (int i = 1; i <= user_Input; i++)
    {
        final_Value *= user_Input;
    }

    return final_value;
}
于 2013-01-29T20:36:19.203 回答