.计算并打印从1到一个给定整数 n 的所有整数的平方和。 (使用 for /while/do while循环分别实现) (输入一个正整数n,输出一个正整数的结果) (如果输入负数或非整数需要提示输入错误并提示重新输入)
时间: 2024-09-20 17:09:38 浏览: 38
js代码-leetCode 279 /给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。
计算从1到一个给定整数n的所有整数的平方和,可以使用for、while或do...while循环来实现。以下是三种语言结构的示例:
**For循环实现:**
```java
import java.util.Scanner;
public class SquareSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n;
while (!scanner.hasNextInt()) {
System.out.println("输入错误,请输入一个正整数:");
scanner.next();
}
n = scanner.nextInt();
if (n < 0) {
System.out.println("输入错误,n不能为负数。请重新输入:");
scanner.next(); // 清除无效输入
return;
}
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i * i;
}
System.out.println("从1到" + n + "所有整数的平方和是: " + sum);
}
}
```
**While循环实现:**
```java
import java.util.Scanner;
public class SquareSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int n;
while (!scanner.hasNextInt()) {
System.out.println("输入错误,请输入一个正整数:");
scanner.next();
}
n = scanner.nextInt();
if (n < 0) {
System.out.println("输入错误,n不能为负数。请重新输入:");
scanner.next(); // 清除无效输入
return;
}
int sum = 0;
int i = 1;
while (i <= n) {
sum += i * i;
i++;
}
System.out.println("从1到" + n + "所有整数的平方和是: " + sum);
}
}
```
**Do...while循环实现:**
```java
import java.util.Scanner;
public class SquareSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = 0;
boolean validInput = false;
do {
System.out.println("请输入一个正整数:");
if (scanner.hasNextInt()) {
n = scanner.nextInt();
if (n < 0) {
System.out.println("输入错误,n不能为负数。请重新输入:");
} else {
validInput = true;
}
} else {
System.out.println("输入错误,请输入一个正整数:");
scanner.next();
}
} while (!validInput);
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i * i;
}
System.out.println("从1到" + n + "所有整数的平方和是: " + sum);
}
}
```
阅读全文