文档库 最新最全的文档下载
当前位置:文档库 › 黑马程序员JavaEE基础班新课程day11:综合练习

黑马程序员JavaEE基础班新课程day11:综合练习

黑马程序员JavaEE基础班新课程day11:综合练习
黑马程序员JavaEE基础班新课程day11:综合练习

黑马程序员JavaEE基础班新课程day11:综合练习前情回顾:

【济南中心】JavaEE基础班新课程day01:java概述

【济南中心】JavaEE基础班新课程day02:java基础知识

【济南中心】JavaEE基础班新课程day03:选择和循环

【济南中心】JavaEE基础班新课程day04:随机数和数组

【济南中心】JavaEE基础班新课程day05:方法概述

【济南中心】JavaEE基础班新课程day06:Eclipse断点调试

【济南中心】JavaEE基础班新课程day07:面向对象

【济南中心】JavaEE基础班新课程day08:常用Api

【济南中心】JavaEE基础班新课程day09:Java集合

【济南中心】JavaEE基础班新课程day10:IO

今天我们的主要内容有:

用我们学过的知识做一个学生信息管理系统

首先我们要准备一个学生类,相信大家都已经非常熟悉了吧。来,开始吧~!

[Java] 纯文本查看复制代码

?

01 packagecom.itheima;

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23 /*

* 标准的学生类

*/

publicclassStudent {

//学号

privateString id;

//姓名

privateString name;

//年龄

privateString age;

//居住地

privateString address;

publicStudent() {

}

publicStudent(String id, String name, String age, String address) { this.id = id;

https://www.wendangku.net/doc/e38510025.html, = name;

this.age = age;

this.address = address;

}

publicString getId() {

returnid;

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45 }

publicvoidsetId(String id) {

this.id = id;

}

publicString getName() {

returnname;

}

publicvoidsetName(String name) {

https://www.wendangku.net/doc/e38510025.html, = name;

}

publicString getAge() {

returnage;

}

publicvoidsetAge(String age) {

this.age = age;

}

publicString getAddress() {

returnaddress;

}

publicvoidsetAddress(String address) { this.address = address;

}

46 }

然后我们完成第一个开发任务:键盘录入3个学生信息(学号,姓名,年龄,居住地)存入集合。然后遍历集合把每一个学生信息存入文本文件(每一个学生信息为一行数据,自己定

义分割标记)

代码分析:

* A:定义学生类

* B:创建集合对象

* C:写方法实现键盘录入学生信息,并把学生对象作为元素添加到集合

* D:创建输出缓冲流对象

* E:遍历集合,得到每一个学生信息,并把学生信息按照一定的格式写入文本文件

* 举例:heima001,向问天,30,北京

* F:释放资源

[Java] 纯文本查看复制代码

?

lassArrayListToFileTest {

ublicstaticvoidmain(String[] args) throwsIOException {

//创建集合对象

ArrayList array = newArrayList();

//写方法实现键盘录入学生信息,并把学生对象作为元素添加到集合

addStudent(array);

addStudent(array);

addStudent(array);

//创建输出缓冲流对象

BufferedWriter bw = newBufferedWriter(newFileWriter("array.txt"));

//遍历集合,得到每一个学生信息,并把学生信息按照一定的格式写入文本文件

for(intx=0; x

Student s = array.get(x);

//heima001,向问天,30,北京

StringBuilder sb = newStringBuilder();

sb.append(s.getId()).append(",").append(s.getName()).append(",").append(s.getAge()).append(",").append(s.getA bw.write(sb.toString());

bw.newLine();

bw.flush();

}

//释放资源

bw.close();

ok,我们已经成功的把学生信息加入了集合中,并且写入了文件里。下面我们开始往

里面添加学生吧!

[Java] 纯文本查看复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20 //添加学生

publicstaticvoidaddStudent(ArrayList array) {

//创建键盘录入对象

Scanner sc = newScanner(System.in);

//为了让id能够被访问到,我们就把id定义在了循环的外面 String id;

//为了让代码能够回到这里,用循环

while(true) {

System.out.println("请输入学生学号:");

//String id = sc.nextLine();

id = sc.nextLine();

//判断学号有没有被人占用

//定义标记

booleanflag = false;

//遍历集合,得到每一个学生

for(intx=0; x

Student s = array.get(x);

//获取该学生的学号,和键盘录入的学号进行比较 if(s.getId().equals(id)) {

flag = true; //说明学号被占用了

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42 break;

}

}

if(flag) {

System.out.println("你输入的学号已经被占用,请重新输入"); }else{

break; //结束循环

}

}

System.out.println("请输入学生姓名:");

String name = sc.nextLine();

System.out.println("请输入学生年龄:");

String age = sc.nextLine();

System.out.println("请输入学生居住地:");

String address = sc.nextLine();

//创建学生对象

Student s = newStudent();

s.setId(id);

s.setName(name);

s.setAge(age);

s.setAddress(address);

//把学生对象作为元素添加到集合

43 44 45 46 47 array.add(s);

//给出提示

System.out.println("添加学生成功");

}

} ok ,我们把键盘录入的学生信息成功的写入了文件中,那么问题来了,怎么再从文件

中读取我们的信息呢?我相信这个肯定难不倒聪明的你们!

首先,我们还是先分析一下代码步骤:

* A:定义学生类

* B:创建输入缓冲流对象

* C:创建集合对象

* D:读取文件数据,并把数据按照一定的格式进行分割赋值给学生对象,然后把学生对

象作为元素存储到集合

* heima001,向問天,30,北京

* E:释放资源

* F:遍历集合

分析完以后是不是代码已经呼之欲出了?

[Java] 纯文本查看 复制代码

?

01 02 03 publicclassFileToArrayListTest {

publicstaticvoidmain(String[] args) throwsIOException {

//创建输入缓冲流对象

04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 BufferedReader br = newBufferedReader(newFileReader("array.txt"));

//创建集合对象

ArrayList array = newArrayList();

//读取文件数据,并把数据按照一定的格式进行分割赋值给学生对象,然后把学生对象作为元素存储到集合

String line;

while((line=br.readLine())!=null) {

//分割字符串

String[] strArray = line.split(",");

//创建学生对象并赋值

Student s = newStudent();

s.setId(strArray[0]);

s.setName(strArray[1]);

s.setAge(strArray[2]);

s.setAddress(strArray[3]);

//把学生对象作为元素存储到集合

array.add(s);

}

//释放资源

br.close();

//遍历集合

System.out.println("学号\t\t 姓名\t 年龄\t 居住地");

26 27 28 29 30 for(intx=0; x

Student s = array.get(x);

System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAddress()); }

}

}

今天的代码量很大,不过既然我们基础知识够扎实,需要的就是多敲多练,所以今天

的案例都要自己敲完。 接下来,我们还要完善这个案例,不过需要交给你们完成。

这里我给大家一旦提示: 学生管理系统IO 版:

A:在第九天学生管理系统案例的基础上,添加新需求

B:查看所有的学生的数据需要从students.txt(提供好的)中读取出来

C:增删改都需要先从students.txt 中读出学生的数据然后再把改后的学生数

据重新写回students.txt

大家加油吧!拯救我们人类就靠你们了!

相关文档