int n = sl.nextInt(); int[] num = new int[n]; for (int i = 0; i < n; i++) { num[i] = sl.nextInt(); } int max = num[0], min = num[0]; for (int i = 1; i < n; i++) { if (num[i] > max) { max = num[i]; } if (num[i] < min) { min = num[i]; } } System.out.println(max - min); 在代码上加个n的范围1 <= n <= 1000)
时间: 2024-03-26 19:35:40 浏览: 68
可以在代码中加入一些判断来限制输入的n值在1到1000之间。修改后的代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sl = new Scanner(System.in);
int n;
do {
System.out.println("请输入序列长度n(1 <= n <= 1000):");
n = sl.nextInt();
} while (n < 1 || n > 1000);
int[] num = new int[n];
for (int i = 0; i < n; i++) {
System.out.println("请输入序列第" + (i+1) + "个数:");
num[i] = sl.nextInt();
}
int max = num[0], min = num[0];
for (int i = 1; i < n; i++) {
if (num[i] > max) {
max = num[i];
}
if (num[i] < min) {
min = num[i];
}
}
System.out.println("序列的最大跨度值为:" + (max - min));
}
}
```
这个修改过的代码在读取n的时候,会要求用户输入满足1 <= n <= 1000的值,如果输入的值不符合要求,就会提示用户重新输入,直到输入符合要求为止。同时,在读取序列元素的时候,也会提示用户输入每个元素的值。完成后,程序会输出序列的最大跨度值。
阅读全文