所以我明天正在为我的考试而学习,其中一部分正在完成静态方法。我已经完成了所有,但有一部分令我感到困惑。以为我可能会寻求帮助。
下面的说明,我加粗了令人困惑的部分,并在下面解释原因。
一个。在不使用任何标准Java Math库方法的情况下完成此静态方法的实现。 仅在抛出异常时使用“if”语句。
/**
* Computes the series n + n^3 + n^5 + ... n^k.
* k-1 is used if k is even.
* @param n the base of the series
* @param k the bound on the exponent of the last term of the series
* @throw IllegalArgumentException when k is less than 1
*/
public double oddSeries(double n, int k) {
if (k < 1) {
throw new IllegalArgumentException("K is less than 1");
}
double tempN = n;
for (int i = 0; i < k; i++)
tempN = tempN + (n * n);
return tempN;
}
所以我抛出了IllegalArgumentException,并使用了一个if语句。如何检查k是否没有if语句或switch语句? 因为我们一般都会这样做
Boolean kEven = false;
if (k % 2 = 0)
kEven = true;
答案 0 :(得分:7)
您不必检查k是否均匀,因为在这种情况下您必须使用k-1。只需执行此操作:
k = k - 1 + (k % 2);
当k为偶数时,它将执行k-1操作。如果k为奇数,则不会改变k值。