牛骨文教育服务平台(让学习变的简单)
博文笔记

Java_编程实例_需求一

创建时间:2016-07-27 投稿人: 浏览次数:739

键盘输入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+"
");
			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 + "
");
		}
		// 关流
		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));

	}
}



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。