java输入n个非负整数,输出他们的和。 1<=n<=100,而每个数则<800。对不符合要求的输入,输出提示信息: "error”。
时间: 2024-10-03 09:04:31 浏览: 4
在Java中,你可以通过Scanner类获取用户输入,然后遍历数组求和。下面是一个简单的示例程序,它会接收用户输入的整数并检查它们是否满足条件:
```java
import java.util.Scanner;
public class SumOfNumbers {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字的数量(n): ");
int n = scanner.nextInt();
// 检查输入范围
if (n < 1 || n > 100) {
System.out.println("error: 输入的数值范围错误,应为1到100");
return;
}
int[] numbers = new int[n];
long sum = 0; // 使用long防止溢出
for (int i = 0; i < n; i++) {
System.out.print("请输入第" + (i+1) + "个数: ");
int num = scanner.nextInt();
// 检查数值范围
if (num < 0 || num >= 800) {
System.out.println("error: 数值超出范围,应小于800");
i--; // 回退已读取的数字
} else {
sum += num;
}
}
scanner.close(); // 关闭扫描器
// 输出结果
if (sum != Long.MAX_VALUE) { // 防止因数值过大导致的溢出异常
System.out.println("这些数字的和是: " + sum);
} else {
System.out.println("error: 计算过程中发生溢出");
}
}
}
```
在这个程序中,我们首先获取用户输入的数值个数,然后依次读取每个数,并在每次读取后检查是否符合条件。如果所有输入都有效,我们会计算它们的总和并显示结果;如果有任何不符合要求的输入,我们会提供相应的错误信息。