欢迎来到天天文库
浏览记录
ID:1338944
大小:62.50 KB
页数:7页
时间:2017-11-10
《福建农林大学java实验二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二类与对象一实验目的1.了解类的成员设计2. 掌握类与对象的关系3.掌握继承的概念;二知识要点1.类 类由成员变量(也称属性)和成员方法组成。属性包括变量和final变量(常量),方法包括构造方法和一般方法。习惯按照如下方式排列类中的成员:classOrder{//final变量(常量)//变量//构造方法//一般方法}类的属性一般定义为private,而将类的方法定义为public。2.对象的创建(1)类是创建对象的模板,而对象是类的实例。创建对象的格式如下:引用变量=new构造方法(参数)(2)构造方法:①构造方法的名称必须与类名同名;构造方法没
2、有返回类型。②一个类可提供多个构造方法,这些方法的参数不同。③系统自动调用参数匹配的构造方法初始化一个对象。④如果程序中未提供构造方法,系统自动提供空的无参构造方法。三实验内容1.创建5个学生对象给一个学生数组赋值,每个学生属性包括:学号、姓名、年龄。请根据【模版一】,将【代码1】到【代码6】替换为Java程序代码,以实现如下要求:(1)将学生按学号排序输出;(2)给所有学生年龄加1;(3)统计大于20岁的学生人数。(4)输出结果,如图1所示:图1【模版一】publicclassStudent{ 【代码1】//定义Student类的成员变量//定义一个
3、output方法,该方法输出学生数组的所有元素 staticvoid output(Students[]){ for(inti=0;i4、dents1=newStudent(3,18,"Lily"); Students2=newStudent(1,21,"Suan"); Students3=newStudent(33,20,"John"); Students4=newStudent(13,20,"Lucy"); Students5=newStudent(8,17,"Jack"); Students[]={s1,s2,s3,s4,s5}; System.out.println("班级学生名单如下:"); output(s);5、 //第1次调用output方法输出数组 【代码4】//将学生按照学号排序 System.out.println("按学号由小到大排序..."); output(s); //第2次调用output方法输出数组 【代码5】//将所有学生年龄加1 System.out.println("所有学生年龄加1后..."); output(s); //第3次调用output方法输出数组 【代码6】//统计大于20岁的学生个数 System.out.println(6、"大于20岁人数是:"+count);} }2.已知链表的每个结点定义如下: Node{ intdata; Nodenext; }请根据【模版二】,将【代码1】到【代码】替换为Java代码,以实现如下要求:(1)创建一个初始为10个结点的单向链表,结点数据用随机函数产生。(2)输出该链表:(3)在链表的首部增加一个数据为50的结点,并输出链表。(4)在链表的尾部增加一个数据为50的结点,并输出链表。(5)输出结果,如图2所示:图2【模版二】class Node{ intdata; //数据域 Nodenext; 7、 //链域,存放下一个结点的引用}publicclassLink{ Nodeheader;/* 构建含n个结点的链表。链表的头用header指示*/publicLink(intn){ Nodep,q;//p为链表中当前的最后一个结点,q为要新加的结点 header=newNode(); //创建首结点header.data=(int)(Math.random()*100);//给首结点的data域赋值 p=header; for(intk=1;k<=n-1;k++){ 【代码1】//创建除了首结点之外8、的其他结点 } } /*输出链表的所有元素
4、dents1=newStudent(3,18,"Lily"); Students2=newStudent(1,21,"Suan"); Students3=newStudent(33,20,"John"); Students4=newStudent(13,20,"Lucy"); Students5=newStudent(8,17,"Jack"); Students[]={s1,s2,s3,s4,s5}; System.out.println("班级学生名单如下:"); output(s);
5、 //第1次调用output方法输出数组 【代码4】//将学生按照学号排序 System.out.println("按学号由小到大排序..."); output(s); //第2次调用output方法输出数组 【代码5】//将所有学生年龄加1 System.out.println("所有学生年龄加1后..."); output(s); //第3次调用output方法输出数组 【代码6】//统计大于20岁的学生个数 System.out.println(
6、"大于20岁人数是:"+count);} }2.已知链表的每个结点定义如下: Node{ intdata; Nodenext; }请根据【模版二】,将【代码1】到【代码】替换为Java代码,以实现如下要求:(1)创建一个初始为10个结点的单向链表,结点数据用随机函数产生。(2)输出该链表:(3)在链表的首部增加一个数据为50的结点,并输出链表。(4)在链表的尾部增加一个数据为50的结点,并输出链表。(5)输出结果,如图2所示:图2【模版二】class Node{ intdata; //数据域 Nodenext;
7、 //链域,存放下一个结点的引用}publicclassLink{ Nodeheader;/* 构建含n个结点的链表。链表的头用header指示*/publicLink(intn){ Nodep,q;//p为链表中当前的最后一个结点,q为要新加的结点 header=newNode(); //创建首结点header.data=(int)(Math.random()*100);//给首结点的data域赋值 p=header; for(intk=1;k<=n-1;k++){ 【代码1】//创建除了首结点之外
8、的其他结点 } } /*输出链表的所有元素
此文档下载收益归作者所有