使用迭代计算幂

2022-01-24 00:00:00 iteration java

我基本上是在尝试重写 math.pow,我有以下显然我没有得到返回值的概念.我到底做错了什么?

I'm basically trying to rewrite math.pow, I have the following obviously I'm not getting the concept of returning values. What exactly am I doing wrong?

public static int power(int x, int n)
{
    if (n == 0) return 1;
    int i,total;
    for(i = 0; i < n-1 ;i++);
    {   
        total = (x * total);
    }
    return total;


}

推荐答案

需要初始化total为1.

You need to initialize total to 1.

int total = 1;

您可以将所有内容重写为:

You can just rewrite everything to:

public static int power(int x, int n)
{
    int total = 1;
    for(int i = 0; i < n; i++) // i can be declared here directly
    {   
        total = (x * total);
    }
    return total; // total remains 1 if n = 0   
}

相关文章