Java用while方法输入num计算1+4+7+……+num的和
时间: 2023-10-07 18:05:06 浏览: 91
使用 `while` 循环也可以计算 1+4+7+……+num 的和,以下是一个示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = scanner.nextInt();
int sum = 0;
int i = 1;
while (i <= num) {
sum += i;
i += 3;
}
System.out.println("1+4+7+...+" + num + "的和为:" + sum);
}
}
```
这段代码也首先使用 `Scanner` 类获取用户输入的正整数 `num`,然后使用一个 `while` 循环来累加从 1 开始,每次加 3 的数,直到累加到 `num` 为止。最后输出计算结果。
相关问题
Java计算1+4+7+……+num的和
您可以使用循环来计算这个序列的和,以下是一个使用Java编写的示例代码:
```java
int num = 10; // 假设 num = 10
int sum = 0;
int i = 1;
while (i <= num) {
sum += i;
i += 3;
}
System.out.println("1+4+7+...+" + num + "的和为:" + sum);
```
这段代码中,我们用变量`num`表示序列的最后一个数,用变量`sum`来保存当前序列的和,用变量`i`表示当前序列中的数。在循环中,我们首先将`i`加到`sum`中,然后将`i`增加3,以便计算下一个数。循环将继续,直到`i`大于`num`为止。最后,我们打印出序列的和。
在java中,分别用while和for循环计算1+1/2!+1/3!+1/4!+……的前20项和
在Java中,我们可以使用While循环和For循环来计算阶乘之和的前20项。由于涉及到阶乘计算,我们还需要额外的辅助函数来计算阶乘。以下是使用While循环和For循环的示例:
**While循环版本:**
```java
public class FactorialSum {
public static void main(String[] args) {
int sum = 0;
int n = 1; // 阶乘起始值
int factorial = 1;
while (n <= 20 && factorial != 0) {
sum += 1 / factorial;
factorial *= n++;
}
System.out.println("前20项和:" + sum);
}
}
// 辅助函数用于计算阶乘
private static int factorial(int num) {
if (num == 0 || num == 1) return 1;
else return num * factorial(num - 1);
}
```
**For循环版本:**
```java
public class FactorialSum {
public static void main(String[] args) {
double sum = 0;
for (int i = 1; i <= 20; i++) {
sum += 1 / factorial(i);
}
System.out.println("前20项和:" + sum);
}
// 同样的阶乘计算函数
private static int factorial(int num) {
if (num == 0 || num == 1) return 1;
else return num * factorial(num - 1);
}
}
```
这两个版本的主要区别在于循环结构,While循环在每次迭代后更新因子和条件,而For循环直接控制迭代次数。
阅读全文