gpt4 book ai didi

java - 为什么这并不总是有 return 语句

转载 作者:行者123 更新时间:2023-12-01 16:59:54 25 4
gpt4 key购买 nike

private static BigInteger[] matrixPow(BigInteger[] matrix, int n){
if(n==0){
BigInteger[] result = {BigInteger.ONE, BigInteger.ZERO, BigInteger.ZERO, BigInteger.ONE};
}
else{
BigInteger[] partial = matrixPow(matrix, n/2);
BigInteger[] result = matrixMultiply(partial, partial);
if(n%2 == 1){
result = matrixMultiply(result,matrix);
}
return result;
}

}

是我到目前为止所拥有的代码,但编译器说它并不总是返回,但它在 else 语句中我必须更改什么

最佳答案

您应该将返回结果上移一个范围。

private static BigInteger[] matrixPow(BigInteger[] matrix, int n){
BigInteger[] result;
if(n==0) {
result = {BigInteger.ONE, BigInteger.ZERO, BigInteger.ZERO, BigInteger.ONE};
} else {
BigInteger[] partial = matrixPow(matrix, n/2);
result = matrixMultiply(partial, partial);
if(n%2 == 1) {
result = matrixMultiply(result,matrix);
}
}
return result;
}

这里的根本问题是您的格式(即缩进)已关闭,这使得很难看到范围的开始和结束位置。

关于java - 为什么这并不总是有 return 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28488366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com