您的位置:首页 > 编程语言 > Java开发

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));

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息