编程题目:
1.键盘输入10个数,放到数组中。要求:(1)去除该数组中大于10的数;(2)将该数组中的数字写入到本地文件number.txt中。
示例代码:
package program.stream.exercise01;
import java.io.*;
import java.util.*;
/**
* 1.键盘输入10个数,放到数组中 (IO)
* (1)去除该数组中大于10的数;
* (2)将该数组中的数字写入到本地文件number.txt中。
*/
public class NumberWriter {
public static void main(String[] args) {
//键盘输入10个数,放到数组中
System.out.println("请输入10个数字:");
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int[] num = new int[10];
for(int i=0;i<num.length;i++){
num[i] = scanner.nextInt();
}
//将数组转换成List集合,并遍历
List<Integer> list = new ArrayList<Integer>();
for (int i=0; i<num.length; i++) {
list.add(num[i]);
}
System.out.println("List删除前:");
for(int n : list){
System.out.print(n+" ");
}
//(1)去除该数组中大于10的数
for(int i=0;i<list.size();i++){
if(list.get(i) > 10){
list.remove(i);
i--;//注意:此处i要递减
}
}
System.out.println("\nList删除后:");
for(int n : list){
System.out.print(n+" ");
}
//(2)将该数组中的数字写入到本地文件number.txt中
Writer write = null;
BufferedWriter bufWriter = null;
try {
write = new FileWriter("D:\\number.txt");
bufWriter = new BufferedWriter(write);
for(int i=0;i<num.length;i++){
//注意:要将数字写入文件中,需要加双引号将其转为String类型,否则显示乱码
bufWriter.write(num[i]+" ");
}
System.out.println("\n写入完成!");
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
bufWriter.flush();
write.flush();
bufWriter.close();
write.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
结果显示: