5.编写程序,创建一个包含指定元素个数的链表并保存在文件中。使用try-catch-finally完成对数组越界异常、IO异常的捕获与处理。
时间: 2023-12-03 14:43:54 浏览: 41
下面是一个简单的Java程序,可以创建一个包含指定元素个数的链表,并将其保存在文件中。程序使用try-catch-finally语句来捕获和处理数组越界异常和IO异常。
```java
import java.io.*;
import java.util.*;
public class LinkedListToFile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入链表元素个数:");
int n = input.nextInt();
LinkedList<Integer> list = new LinkedList<Integer>();
for (int i = 0; i < n; i++) {
System.out.print("请输入第" + (i + 1) + "个元素:");
int x = input.nextInt();
list.add(x);
}
File file = new File("list.txt");
PrintWriter out = null;
try {
out = new PrintWriter(new FileWriter(file));
for (int i = 0; i < list.size(); i++) {
out.println(list.get(i));
}
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组越界异常:" + e.getMessage());
} catch (IOException e) {
System.out.println("IO异常:" + e.getMessage());
} finally {
if (out != null) {
out.close();
}
}
}
}
```
程序首先提示用户输入链表元素的数量,然后创建一个LinkedList对象,并将用户输入的值添加到链表中。接下来,程序创建一个名为“list.txt”的文件,并使用PrintWriter对象将链表中的元素写入该文件。如果发生数组越界异常或IO异常,程序将输出相应的异常消息。最后,程序关闭PrintWriter对象。
注意:在使用try-catch-finally语句处理异常时,必须将可能引发异常的代码放在try块中。如果异常被捕获,则将执行catch块中的代码。无论是否发生异常,finally块中的代码都将得到执行。