Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用方法_Java - Fatal编程技术网

Java 调用方法

Java 调用方法,java,Java,我是Java的新手,开始阅读Think Java并坚持做一些练习。你介意帮我吗?非常感谢 费马的最后一个定理说,不存在这样的整数a、b和c 那 n=2时除外。编写一个名为checkFermat(inta,intb,intc,intn)的方法 将四个整数作为参数a、b、c和n,并检查 如果费马定理成立。如果n大于2,结果是 如果an+bn=cn是真的,那么程序应该打印“神圣的烟, Fermat错了!”否则程序应该打印“不,那 不管用。” 您应该假设有一个名为raiseToPow(intx,intp

我是Java的新手,开始阅读Think Java并坚持做一些练习。你介意帮我吗?非常感谢

费马的最后一个定理说,不存在这样的整数a、b和c 那

n=2时除外。编写一个名为checkFermat(inta,intb,intc,intn)的方法 将四个整数作为参数a、b、c和n,并检查 如果费马定理成立。如果n大于2,结果是 如果an+bn=cn是真的,那么程序应该打印“神圣的烟, Fermat错了!”否则程序应该打印“不,那 不管用。”

您应该假设有一个名为
raiseToPow(intx,intpow
)的方法 两个整数作为参数,并将第一个参数提升到 第二种力量。例如:

int x = raiseToPow(2, 3);
将值8赋给x,因为2^3=8

public class Buzz {}

但是我不知道如何将checkFermat中的值交给我必须调用的另一个方法raiseToPow,以及如何编写方法raiseToPow来工作。

如果raiseToPow方法假设您不能在Java中使用
Math.pow()
方法,那么编写您自己的方法将是:

public int raiseToPow(int base, int powerTo){
    if(power == 0){ 
        return 1;
    } else{
        int result = x;
        for(int i = 1; i <= powerTo; i++) {
            result = result * x;
        }
        return result;
    }
}
要检查费马定理,您可以将其用作示例,如果您愿意,可以更改数字的值:

public void checkFermat(int a, int b, int c, int n){
    int x = raiseToPow(a, n);
    int y = raiseToPow(b, n);
    int z = raiseToPow(c, n)
    if(x + y == z && n> 2){
        System.out.println("Holy smokes, Fermat was wrong!");
    } else{
        System.out.println("No, that doesn’t work.");
    }
}

希望这有帮助

谢谢你,尼尔,但这并不是我想要的。应该有一个方法checkerfermat,其中声明了4个整数-a、b、c和n,并且应该有另一个名为raisedToPow的方法,该方法将a提升到n(a^n)并用于b和c。我知道如何调用checkFermat并为其赋值,但我不知道如何编写另一个名为raiseToPow的方法,该方法使用checkFermat方法的赋值进行提升。我得到的答案是
raiseToPow()
方法,还显示了如何在
checkFermat()
方法中使用它。很抱歉,我只是有点困惑,你在评论中问了什么,因为我认为我的代码符合你的要求。它起到了作用:)我只是想要一种不同的方法,因为我已经知道了,但谢谢你的确认。有一些解释和检查是好的。
public int raiseToPow(int base, int powerTo){
    if(power == 0){ 
        return 1;
    }
    return base * pow(base, --power);
}
public void checkFermat(int a, int b, int c, int n){
    int x = raiseToPow(a, n);
    int y = raiseToPow(b, n);
    int z = raiseToPow(c, n)
    if(x + y == z && n> 2){
        System.out.println("Holy smokes, Fermat was wrong!");
    } else{
        System.out.println("No, that doesn’t work.");
    }
}