Java_编程实例_需求一
2016-07-27 22:17
501 查看
需求:
键盘输入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)); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序