1.从键盘上输入1个整数值,并处理输入无效数值(如输入3.5)时产生的异常。 2.从键盘上输入5个整数存储在数组中,要求在程序中处理数组越界的异常。 用Java
时间: 2024-12-19 22:19:28 浏览: 11
在Java中,你可以使用Scanner类从键盘获取用户输入并处理异常。这里有两个示例分别对应你的两个需求:
1. **处理输入整数及异常**:
```java
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int input;
try {
System.out.println("请输入一个整数:");
input = scanner.nextInt(); // 使用nextInt()会捕获InputMismatchException异常
} catch (InputMismatchException e) {
System.out.println("输入无效,请输入一个整数!");
scanner.next(); // 清除当前输入,避免干扰后续输入
return; // 结束此次循环,防止继续尝试解析非数字字符
}
System.out.println("你输入的是: " + input);
scanner.close();
}
}
```
在这个例子中,`nextInt()`会抛出`InputMismatchException`如果接收到的不是整数。我们捕获这个异常并给出提示。
2. **处理数组越界异常**:
```java
public class ArrayExample {
public static void main(String[] args) {
int[] array = new int[5]; // 创建一个大小为5的数组
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
try {
System.out.println("请输入第" + (i+1) + "个整数:");
array[i] = scanner.nextInt(); // 如果索引超出范围,会抛出ArrayIndexOutOfBoundsException
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("错误! 数组下标超出范围。");
continue; // 跳过这次循环,避免影响其他元素的输入
}
}
scanner.close();
}
}
```
在这个循环中,每个数组元素的输入都会检查是否超过数组长度,若超过则跳过并捕获异常。
阅读全文