Java_编程实例_需求一

来源:互联网 发布:完整id查询软件 编辑:程序博客网 时间:2024/06/06 03:24

需求:

键盘输入10个数,放到数组中

a)        去除该数组中大于10的数

b)       将该数组中的数字写入到本地文件number.txt中


思路:

a):

i. 给数组循环遍历输入10个数,存放到数组中

ii.创建一个新数组,用于存放小于10的数

iii.将符合条件的数复制给新数组

iv.打印新数组中的内容

b)

方式一:

数组写入文件中

创建本地文件对象

创建字符缓冲输出流

遍历数组,将数据写入到文件中

关闭流

②取文件中的内容       

创建字符缓冲输入流

读取数据

关闭流

方式二:
 创建数据字节输出流对象,并和文件关联
 遍历数组,将元素写入到文件中
 创建数据字节输入流对象,并和number.txt文件关联   

用数据字节输入输出流完成数字的读写操作

方式三:

创建文件字符输出流FileWriter对象 

创建文件字符输出流FileWriter对象

创建文件字符输出流FileWriter对象

创建字符数组

将字符数组中的内容变成字符串并打印

关流

创建键盘录入对象的第二种方式(包装设计模式)

public class Test01 {public static void main(String[] args) throws IOException {// a.去除该数组中大于10的数// (1).创建键盘录入对象Scanner sc = new Scanner(System.in);// 提示用户输入数据System.out.println("请输入10个整数:");// 定义长度为10的数组int[] arr = new int[10];// 定义一个计数器,用于统计小于10的数据的个数int count = 0;// (2).循环录入10个整数for (int i = 0; i < arr.length; i++) {// 将录入的数据存入数组中arr[i] = sc.nextInt();if (arr[i] <= 10)count++;}// (3).根据小于10的数的个数来定义一个新数组int[] newArr = new int[count];// (4).把老数组中符合条件的数复制到新数组中count = 0;for (int i = 0; i < arr.length; i++) {if (arr[i] <= 10) {// newArr[i] = arr[i];//可能会出现索引越界newArr[count++] = arr[i];// count++;}}// 直接打印新数组中的内容System.out.println(Arrays.toString(newArr));// b. 将该数组中的数字写入到本地文件number.txt中/*// 方式一:// (1)创建本地文件对象File file = new File("number.txt");// (2)创建字符缓冲输出流BufferedWriter bw = new BufferedWriter(new FileWriter(file));// (3)遍历数组,将数据写入到文件中for (int i = 0; i < arr.length; i++) {// bw.write(i+"\r\n");bw.write(arr[i] + "");bw.newLine();// 回车换行}// 关闭流bw.close();// 读取文件的内容// 字符缓冲输入流BufferedReader br = new BufferedReader(new FileReader(file));String line = null;while ((null != (line = br.readLine()))) {System.out.println(line);}// 关闭流br.close();*//*// 方式二:// 用数据字节输入输出流完成数字的读写操作// 创建数据字节输出流对象,并和number.txt文件关联DataOutputStream dos = new DataOutputStream(new FileOutputStream("D:\\number.txt"));// 遍历数组,将元素写入到文件中for (int i : arr) {dos.writeInt(i);}dos.close();// 创建数据字节输入流对象,并和number.txt文件关联DataInputStream dis = new DataInputStream(new FileInputStream("D:\\number.txt"));for (int i = 0; i < arr.length; i++) {System.out.println(dis.readInt());}*/// 方式三:// 创建文件字符输出流FileWriter对象FileWriter fw = new FileWriter("D:\\number.txt");for (int i : arr) {// 将int类型的数据变成字符串并加上回车换行写入到文件中fw.write(i + "\r\n");}// 关流fw.close();// 创建文件字符输入流对象FileReader fr = new FileReader("D:\\number.txt");// 创建字符数组char[] chars = new char[1024 * 4];int len = -1;while (-1 != (len = fr.read(chars))) {// 将字符数组中的内容变成字符串并打印System.out.println(new String(chars, 0, len));}// 关流fr.close();// 创建键盘录入对象的第二种方式(包装设计模式)BufferedReader br = new BufferedReader(new InputStreamReader(System.in));}}



1 0
原创粉丝点击