
在编程中,我们经常需要根据输入的不同来执行不同的操作。今天,我们将通过一个具体的例子来展示如何在Java中实现这样的功能。具体来说,我们需要编写一个函数,该函数根据输入的整数n是奇数还是偶数,来计算不同的序列之和。

编写一个函数,输入一个正整数n:
n是偶数,则计算并返回1/2 + 1/4 + ... + 1/n的和。n是奇数,则计算并返回1/1 + 1/3 + ... + 1/n的和。首先,在你的开发环境中创建一个新的Java项目,并添加一个新的Java类,例如命名为SumCalculator。
接下来,我们在SumCalculator类中编写主要的逻辑函数calculateSum。这个函数将接受一个整数参数n,并根据n的奇偶性来决定执行哪个求和操作。
public class SumCalculator {
public static double calculateSum(int n) {
if (n <= 0) {
throw new IllegalArgumentException("n must be a positive integer");
}
double sum = 0;
if (n % 2 == 0) { // n is even
for (int i = 2; i <= n; i += 2) {
sum += 1.0 / i;
}
} else { // n is odd
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
}
return sum;
}
public static void main(String[] args) {
int n = 10; // Example input
System.out.println("The sum is: " + calculateSum(n));
}
}为了确保我们的函数能够正确工作,我们可以在main方法中调用calculateSum函数,并传入几个测试值来验证结果。
public static void main(String[] args) {
System.out.println("When n is 10, the sum is: " + calculateSum(10)); // 应输出约 1.8166666666666667
System.out.println("When n is 9, the sum is: " + calculateSum(9)); // 应输出约 1.5497677311665408
}
下面是一个使用Java编写的示例代码,该代码根据输入的整数 n 的奇偶性来计算相应的序列和。
public class SequenceSum {
public static void main(String[] args) {
// 测试不同的n值
int n1 = 6; // 偶数
int n2 = 7; // 奇数
System.out.println("When n is " + n1 + ", the sum is: " + calculateSum(n1));
System.out.println("When n is " + n2 + ", the sum is: " + calculateSum(n2));
}
/**
* 根据n的奇偶性计算相应的序列和
* @param n 输入的整数
* @return 序列和
*/
public static double calculateSum(int n) {
double sum = 0.0;
if (n % 2 == 0) {
// n是偶数,计算1/2 + 1/4 + ... + 1/n
for (int i = 2; i <= n; i += 2) {
sum += 1.0 / i;
}
} else {
// n是奇数,计算1/1 + 1/3 + ... + 1/n
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
}
return sum;
}
}main 方法):n 值:n1 为偶数(6),n2 为奇数(7)。calculateSum 方法并打印结果。calculateSum 方法:n 作为参数。if 语句判断 n 是奇数还是偶数。n 是偶数,使用 for 循环从 2 开始,每次增加 2,直到 n,计算 1/2 + 1/4 + ... + 1/n。n 是奇数,使用 for 循环从 1 开始,每次增加 2,直到 n,计算 1/1 + 1/3 + ... + 1/n。当你运行这个程序时,输出将会是:
When n is 6, the sum is: 0.8333333333333334
When n is 7, the sum is: 1.5619047619047618
下面是一个Java程序示例,该程序定义了一个方法 calculateSum,根据输入的整数 n 的奇偶性来计算相应的序列和。
public class SequenceSum {
public static void main(String[] args) {
int n = 10; // 可以修改这个值来测试不同的输入
double result = calculateSum(n);
System.out.println("The sum is: " + result);
}
/**
* 计算给定整数n的序列和。
* 如果n是偶数,则计算1/2 + 1/4 + ... + 1/n。
* 如果n是奇数,则计算1/1 + 1/3 + ... + 1/n。
*
* @param n 输入的整数
* @return 序列和
*/
public static double calculateSum(int n) {
if (n <= 0) {
throw new IllegalArgumentException("n must be a positive integer");
}
double sum = 0.0;
if (n % 2 == 0) { // n 是偶数
for (int i = 2; i <= n; i += 2) {
sum += 1.0 / i;
}
} else { // n 是奇数
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
}
return sum;
}
}
SequenceSum 类包含 main 方法,这是程序的入口点。main 方法中,定义了一个变量 n 来存储输入值,并调用 calculateSum 方法计算结果,最后打印结果。n 作为参数,并返回一个双精度浮点数表示的序列和。n 是否为正整数,如果不是,则抛出 IllegalArgumentException 异常。if 语句判断 n 的奇偶性: n 是偶数,使用 for 循环从 2 开始,每次增加 2,直到 n,累加每个项的倒数。n 是奇数,使用 for 循环从 1 开始,每次增加 2,直到 n,累加每个项的倒数。你可以通过修改 main 方法中的 n 的值来测试不同的输入情况。例如:
n = 10 时,输出应该是 1/2 + 1/4 + 1/6 + 1/8 + 1/10 的和。n = 9 时,输出应该是 1/1 + 1/3 + 1/5 + 1/7 + 1/9 的和。希望这个示例对你有帮助!如果有任何问题或需要进一步的解释,请随时告诉我。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。