学号姓名--Java集合框架实验报告

学号姓名--Java集合框架实验报告
学号姓名--Java集合框架实验报告

浙江大学城市学院实验报告

课程名称Java高级程序设计

实验项目名称Java集合框架实验

学生姓名专业班级学号

一、实验目的

1.理解Java集合框架的特点、接口与类之间的关系

2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList

3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet

4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap

5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式

二、实验内容

1、使用List管理对象集合

2、使用Map管理对象集合

3、使用Set管理对象集合

4、设计一个自定义的集合类

三、实验步骤

1、在Eclipse中新建工程(即项目)

2、使用List管理对象集合

1)新建一个包listExample

2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。

参考代码:Student.java, StudentList.java,StudentListTest.java

3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程

序,给出具体的实现代码(不使用泛型类)。

void deleteStudentById(String id){//根据学号删除学生对象for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getId().equalsIgnoreCase(id))

students.remove(stud);

}

}

void deleteStudentByName(String name){//根据姓名删除学生对象for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getName().equalsIgnoreCase(name))

students.remove(stud);

}

}

void deleteStudentByAge(int age){//根据年龄删除学生对象for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getAge()==age)

students.remove(stud);

}

}

Student[] findByName(String name){

int a=0;

for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getName().equalsIgnoreCase(name))

a++;

}

Student[] st=new Student[a];

int b=0;

for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getName().equalsIgnoreCase(name)){

st[b]=stud;

b++;

}

}

return st;

}

Student[] findByAge(int age){

int a=0;

for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getAge()==age)

a++;

}

Student[] st=new Student[a];

int b=0;

for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getAge()==age)

{st[b]=stud;b++;}

}

return st;

}

4)新创建listExample2包,重新设计设计上述程序(新程序都属于这个包),这

时需要使用泛型类,即出现的List、ArrayList或LinkedList都使用泛型。

void deleteStudentById(String id){//根据学号删除学生对象

Iterator iterator = students.iterator();

while(iterator.hasNext())

{

Student st=(Student)iterator.next();

if(st.getId()==id) iterator.remove();

}

}

void deleteStudentByName(String name){//根据姓名删除学生对象Iterator iterator = students.iterator();

while(iterator.hasNext())

{

Student st=(Student)iterator.next();

if(st.getName()==name) iterator.remove();

}

}

void deleteStudentByAge(int age){//根据年龄删除学生对象

Iterator iterator = students.iterator();

while(iterator.hasNext())

{

Student st=(Student)iterator.next();

if(st.getAge()==age) iterator.remove();

}

}

List findByName(String name){

List studs=new ArrayList();

for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getName().equals(name)){

studs.add(stud);

}

}

return studs;

}

List findByAge(int age){

List studs=new ArrayList();

for(int i=0;i

Student stud = (Student)students.get(i);

if(stud.getAge()==age)

studs.add(stud);

}

return studs;

}

3、使用Map管理对象集合

1)新建一个包MapExample

2)在这个包中新建三个类:Student类,StudentMap类,StudentMapTest类。

参考代码Student.java, StudentMap.java,StudentMapTest.java

3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程

序,给出具体的实现代码(不使用泛型类)。

void deleteStudentByName(String name){//根据学生姓名删除学生对象

Collection values=students.values();

Iterator it=values.iterator();

while(it.hasNext()){

if(it.next().getName().equals(name))

it.remove();

}

}

void deleteStudentByAge(int age){//根据学生年龄删除学生对象Collection values=students.values();

Iterator it=values.iterator();

while(it.hasNext()){

if(it.next().getAge()==age)

it.remove();

}

}

Student[] findByName(String name){

int a=0;

Collection values=students.values();

Iterator it=values.iterator();

while(it.hasNext()){

if(it.next().getName().equals(name))

a++;

}

int b=0;

Student[] s=new Student[a];

Collection values1=students.values();

Iterator it1=values1.iterator();

while(it1.hasNext()){

Student ss=it1.next();

if(ss.getName().equals(name))

{s[b]=ss;

b++;

}

}

return s;

}

Student[] findByAge(int age){

int a=0;

Collection values=students.values();

Iterator it=values.iterator();

while(it.hasNext()){

if(it.next().getAge()==age)

a++;

}

int b=0;

Student[] s=new Student[a];

Collection values1=students.values();

Iterator it1=values1.iterator();

while(it1.hasNext()){

Student ss=it1.next();

if(ss.getAge()==age)

{s[b]=ss;

b++;

}

}

return s;

}

4)新创建MapExample2包,重新设计设计上述程序(新程序都属于这个包),这

时需要使用泛型类,即出现的Map、TreeMap或HashMap都使用泛型。

4、使用Set管理对象集合

1)新建一个包SetExample

2)在这个包中新建三个类:Student类,StudentSet类,StudentSetTest类。

参考代码:这三个类的参考代码见Student.java, StudentSet.java,StudentSetTest.java

3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程

序,给出具体的实现代码(不使用泛型类)。

void deleteStudentById(String id){//根据学号删除学生对象

for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getId().equalsIgnoreCase(id))

students.remove(stud);

}

}

void deleteStudentByName(String name){//根据姓名删除学生对象for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getName().equalsIgnoreCase(name))

students.remove(stud);

}

}

void deleteStudentByAge(int age){//根据年龄删除学生对象for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getAge()==age)

students.remove(stud);

}

}

Student[] findByName(String name){

int a=0;

for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getName().equalsIgnoreCase(name))

a++;

}

Student[] st=new Student[a];

int b=0;

for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getName().equalsIgnoreCase(name))

{

st[b]=stud;

b++;}

}

return st;

}

Student[] findByAge(int age){

int a=0;

for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getAge()==age)

a++;

}

Student[] st=new Student[a];

int b=0;

for(int i=0;i

Student stud = (Student)students.toArray()[i];

if(stud.getAge()==age)

{st[b]=stud;

b++;}

}

return st;

}

4)新创建SetExample2包,重新设计设计上述程序(新程序都属于这个包),这

时需要使用泛型类,即出现的Set、TreeSet或HashSet都使用泛型。

注意:Student类实现Comparable接口的作用。

public class Student implements Comparable //实现Comparable接口对于TreeSet排序有用

{

public int compareTo(Object arg0) {

Student stud = (Student)arg0;

return this.getId().compareTo(stud.getId());

}

实现是自定义排序功能

5、设计一个自定义的集合类

四. 实验结果与分析

1. 请说明采用接口变量操作集合对象的方式,并阐述这么做的主要优点。

提示:在“使用List管理对象集合”的实验中,LinkedList、ArrayList两个类都可以管理一批对象,但是程序中使用List接口变量引用LinkedList、ArrayList对象,即使用如下方式:

private List students = new ArrayList();

而不是直接使用LinkedList、ArrayList类型变量,比如:

private ArrayList students = new ArrayList();

这样做有什么用意,有什么好处?

这是一种很好的设计模式.一个接口有多种实现,这种写法是java面向对象的一种思

想,依赖倒置原则,即依赖于抽象不依赖于实现(具体)。

给调用者提供的应该是接口或者抽象类,而实现者可以实现或者继承接口或者抽象类来满足调用者,这样调用者不必知道实现者怎样操作,实现者也可以根据具体情况去实现,这样去除了耦合。这就是java设计模式的基础思想之一。

从Java语法上,这种方式是使用接口引用指向具体实现,这样大大提高了代码使用的灵活性。

2.请说明LinkedList、ArrayList有何不同,各自适用于哪些场合?

LinkedList:采用链表来管理集合的元素。优点是可以方便地进行元素的增加,删除。即元素个数变化的代价较小,但是查询性能比数组差。

ArrayList:使用可变长度的数组来管理集合的元素。优点是查询性能比链表好,缺点是长度不可变化,删除元素代价大。

LinkedList适用于元素增加删除频繁的场合。ArrayList适用于查询元素较频繁的场合

3.请说明HashSet,TreeSet有何不同,各自适用于哪些场合?

1、TreeSet中的数据是自动排好序的,不允许放入null值

2、HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束

3、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例

4. 请说明HashMap、TreeMap有何不同,各自适用于哪些场合?

HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。

5. Iterator与For循环都可以用于遍历集合中的元素,请问有何不同之处。

Iterator:通用,对于所有集合,使用Iterator性能都一样, 客户端自身不维护遍历集合的"指针",所有的内部状态(如当前元素位置,是否有下一个元素)都由Iterator来维护,而这个Iterator由集合类通过工厂方法生成,因此,它知道如何遍历整个集合。

客户端从不直接和集合类打交道,它总是控制Iterator,向它发送"向前","向后","取当前元素"的命令,就可以间接遍历整个集合。

For循环:虽然和Iterator性能差不多,但是在查找链表如LinkedList的时候遍历集合的开销会差别很大! 就以LinkedList来说,用get(i)方法来取元素的主要代码, 我们可以看到,LinkedList 内的get(i)方法,用了循环方式来返回元素,性能肯定会差.

6.简单地分析比较不同集合类在选用上的主要原则。

List接口可以存储重复的数据。并且可以基于位置(下标)操作集合。

当增删改频繁的时候用LinkedList。当查询频繁时用ArrayList

Map接口类似数学中的映射。对象的管理是一组键-值得映射关系。主要是适用于数量较多的对象管理。希望通过KEY快速的查到对应的value。

HashMap是通过哈希表管理的,允许null

TreeMap该映射按照键自然排序。不允许为空

Set接口不允许有重复的元素。

HashSet通过哈希算法管理允许null

TreeSet按照元素自然的排序

五.讨论、心得

(可写遇到的问题及解决方法,或者对技术的理解等)

试卷编号班级学号姓名

说明:“阅卷总分”由阅卷人填写;“复核总分”由复核人填写,复核总分不得有改动。 一、选择题:(每小题3分,共30分) 1、.如图所示,圆型回路L 内有电流1I 、2I ,回路外有电流3I ,均在真空中,P 为L 上的点, 则( )。 (A ) 012()L d I I μ?=-? B l (B )0123()L d I I I μ?=++?B l (C ) 012 3 ()L d I I I μ?=+-? B l (D ) 1 2() L d I I μ?=+?B l 2、某宇宙飞船以0.8c 的速度离开地球,若地球上接收到它发出的两个信号之间的时间间隔为10s , 则宇航员测出的相应的时间间隔为( ) (A )6s (B )8s (C )10s (D )16.7s (3分) 3、 磁场的高斯定理说明了稳恒磁场的某些性质。下列说法正确的是 ( ) (A )磁场力是保守力; (B )磁场是非保守力场; (C) 磁场是无源场; (D)磁感应线不相交。 4、两个均质圆盘A 和B 的密度分别为A ρ和B ρ,若B A ρρ< ,但两圆盘的质量与厚度相同, 如两盘对通过盘心垂直于盘面的转动惯量各为A J 和B J ,则( ) (A )A B J J > (B )A B J J < (C )A B J J = (D )A J 和B J 哪个大,不能确定 5、假设卫星环绕地球中心作椭圆运动,则在运动过程中,卫星对地球中心的( ) (A) 角动量守恒,动能守恒 (B) 角动量守恒,机械能守恒 (C) 角动量不守恒,机械能守恒 (D) 角动量不守恒,动量也不守恒 (E) 角动量守恒,动量也守恒 6、在一个点电荷+Q 的电场中,一个检验电荷+q ,从A 点分别移到B ,C ,D 点,B ,C ,D 点 在+Q 为圆心的圆周上,如图所示,则电场力做功是( ) (A ) 从A 到B 电场力做功最大。 (B ) 从A 到C 电场力做功最大。 (C ) 从A 到D 电场力做功最大。 B (D ) 电场力做功一样大。 7、一交变磁场被限制在一半径为R 的圆柱体中,在柱体内、外分别有两个静止的点电荷A q 和B q ,则 ( ) A A q 和B q 都受力 B A q 和B q 都不受力 C A q 受力,B q 不受力 D A q 不受力,B q 受力 8、实验室测得粒子的总能量是其静止能量的K 倍, 则其相对实验室的运动速度为( ) (A) 1-K c (B) 2 1K K c - (C )1 2-K K c (D) 1 +K K c 9、如图所示,一点电荷q 位于一边长为a 的立方体的 q A 顶点A ,则通过立方体B 表面的电通量各为( ) B (A ) 6q ε (B )012εq (C )024εq (D )0εq

学号+姓名 (3)

河南工程学院《软件综合运用》课程设计题目:智能优化算法 姓名:王朋成 学号:201411003116 学院:理学院 专业班级:数学与应用数学1441班 专业课程:软件综合运用设计 指导教师:刘凯 2017年9月8日

目录 课题1.最小化加权总完工时间和问题的计算 (1) 1.1.设计目的 (1) 1.2.问题介绍 (1) 1.3.最优算法 (1) 1.4.算法原理 (1) 1.5.程序代码 (2) 1.6.运行结果 (4) 课题2:最小化最大延误时间问题的计算 (6) 2.1.设计目的 (6) 2.2.问题介绍 (6) 2.3.最优算法 (6) 2.4.算法原理 (7) 2.5.程序代码 (7) 2.6.运行结果 (9) 心得体会 (12)

实验1.最小化加权总完工时间和问题的计算 1.1.设计目的 通过课程设计,熟练掌握最小化加权完工时间和问题的算法思想、程序设计及结果输出。对MATLAB 、JAVA 等编程语言与编程环境进行复习和强化,最后进行最优排序和目标函数的输出。本次设计本质上就是寻求一个组合最优化问题的最优解。并通过本次的课程设计熟练掌握WSPT 算法的基本思想,以此解决实际问题。 1.2.问题介绍 问题描述: 本次试验所计算问题为1j j w c ∑,该问题即为:有n 个工件),...1(j n j T =,工件j T 的加工时间为j P ,权重为j W ,工件j T 在机器上的完工时间为j C 。本问题即确定工件集 ),...1(j n j T =在机器上的加工顺序或加工位置,使得目标函数∑j j c w 达到最小。 问题背景: 考虑排序问题1||∑,其中n=5 P=(12,4,7,11,6),w=(4,2,5,5,6) 由wspt 规则,可得最优排序为[],加权总完工时间为∑=435 1.3.最优算法 排列 c= (c ( 1) ,c ( 2) ,… ,c (n) ) 是问题 1 ∑ wjCj 的最优排列的充分必要条件是 WSPT 规则成立 ,即成立 ( 1)/ ( 1) ≤ ( 2)/ ( 2) ≤… ≤ (n) / (n) . 1.4.算法原理 排序问题是一类重要的组合优化问题,现在已经成为运筹学研究的一个非常活跃的分支。单机排序问题的一个重要目标函数式加权评论流时间。由于极小化加权平均流时间等价于极小化加权完工总时间,因此下面仅以加权总完工时间为

学号_姓名_3-8译码器实验报告

电子科技大学 实 验 报 告 学生姓名: 学号: 指导教师:黄敏 实验地点:主楼C2-514 实验时间:(1班)

一、实验室名称:虚拟仪器实验室 二、实验项目名称:3-8 译码器实验 三、实验学时:4学时 四、实验原理 开发板上共四个按键:SW3~SW6,其中SW3 为总开关;SW4、SW5、SW6 作为三个译码输入。本实验3-8 译码器所有的接口如下。 input ext_clk_25m, //外部输入25MHz 时钟信号 input ext_rst_n, //外部输入复位信号,低电平有效 input[3:0] switch, //4个拨码开关接口,ON -- 低电平;OFF -- 高电平。SW3 为总开关;SW4、SW5、SW6 的三个译码输入 output reg[7:0] led //8 个LED 指示灯接口

注:X 表示ON 或OFF,即任意状态。 五、实验目的 熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个3-8译码器的设计把握利用EDA软件(Quartus II 13.1)进行HDL代码输入方式的电子线路设计与仿真的详细流程。 六、实验内容 利用HDL代码输入方式在Quartus II 13.1平台上实现一个3-8译码器设计,并进行仿真,然后生成配置文件下载到开发板上进行验证。 七、实验器材(设备、元器件) 1. 计算机(安装Quartus II 13.1& ModelSim13.1软件平台); 2. Cyclone IV FPGA开发板一套(带Altera USB-Blaster下载器)。 八、实验步骤 (1)新建工程,设置器件属性:在Quartus II 13.1平台中,新建一个工程(注意命名规范),在“Family”中选择“Cyclone IV E”系列,“Available device”中选择具体型号“EP4CE6E22C8”,设置好器件属性。在EDA Tool Settings 页面中,可以设置工程各个开发环节中需要用到的第三方 (Altera 公司以外)EDA 工具,我们只需要设置“Simulation”工具为 “ModelSim-Altera”,Format 为“Verilog HDL”即可,其他工具不涉及, 因此都默认为。(详见实验指导书) (2)Verilog源码文件创建与编辑:点击菜单栏的“File→New…”,然后弹出如图所示的新建文件窗口,在这里我们可以选择各种需要的设计文 件格式。可以作为工程顶层设计文件的格式主要在Design Files 类别下, 我们选择Verilog HDL File(或者VHDL File)并单击OK完成文件创 建。将新建的文件保存后通过菜单栏“Project→Add/Remove Files in Project”将刚刚创建的文件加入新建的工程中,点击“Add”加入后选 择OK按钮。(详见实验指导书) (3)Modelsim仿真验证:将工程编译,无误后,采用第三方EDA仿真工具Modelsim进行仿真。1)设置路径:点击Tools →Options…”,进

Java集合框架实验报告

浙江大学城市学院实验报告 课程名称Java高级程序设计 实验项目名称Java集合框架实验 学生姓名专业班级学号 一、实验目的 1.理解Java集合框架的特点、接口与类之间的关系 2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList 3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet 4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap 5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式 二、实验内容 1、使用List管理对象集合 2、使用Map管理对象集合 3、使用Set管理对象集合 4、设计一个自定义的集合类 三、实验步骤 1、在Eclipse中新建工程(即项目) 2、使用List管理对象集合 1)新建一个包listExample 2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。 参考代码: Student、java, StudentList、java,StudentListTest、java 3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序, 给出具体的实现代码(不使用泛型类)。

void addStudent(Student student){//添加一个学生对象 boolean a=true; for(int i=0;i

答案 实验报告_实验8 函数(1)(学号_姓名)

实验报告_实验8 函数(1)(学号_姓名) 一、实验目的: 1、理解函数的功能 2、熟练掌握函数的定义、声明和调用方法; 二、实验内容 1、(基础题)根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积,公式为:,其中:。请根据下列要求编写程序: (1)三角形面积的计算由函数triangle_area实现,函数原型为: double triangle_area(double a, double b, double c);当输入的a、b、c 值不能构成三角形时,返回0.0;(提示:构成三角形的三边条件:任意两边之和大于第三边,任意两边之差小于第三边。) (2)主函数的功能是输入三角形的三条边长,再调用triangle_area()得到面积,最后输出结果; (3)主函数在前,triangel_area()在后面定义。 程序代码: #include #include int main() { double triangle_area(double a,double b, double c);//函数声明 double x, y, z,area; printf("请输入三角形的三边长度: "); scanf("%lf%lf%lf",&x,&y,&z); area=triangle_area(x,y,z);

printf("三角形的面积=%.4lf\n\n",area); return 0; } double triangle_area(double a,double b, double c)//函数定义 { if ((a+b<=c)||(a+c<=b)||(b+c<=a))//不能构成三角形 return 0.0; double s,p; p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); return s; } 2、(基础题)定义一个求最大公约数函数int gcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。提示:辗转相除法求最大公约数的原理: 先比较两个数的大小: (1)用较大数去除较小数,得到一个余数; (2)如果余数为0,则除数(较小数)就是最大公约数,结束运算; (3)如果余数不为0,则计算除数(较小数)和余数的最大公约数即可(舍去被 除数)。转向执行(1)。 程序运行结果如下图所示: 程序代码: #include

java 实验七 对象集合 实验报告

实验七对象集合的组织 实验目标: 1.了解Collection、List、Set、Map等常用数据结构的层次结构 2.掌握LinkList、Vector、ArrayList、HashTable、HashMap等类的用法 3.掌握Enumeration(枚举)及Iterator(迭代器)的遍历用法 4.了解自学HashSet、TreeSet这两个Set接口下的重要实现类 5.了解自学比较器接口 实验任务: 1. 填空 List 接口的特点是元素__有__(有|无)顺序,___可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,__不可以____(可以|不可以)重复; Map 接口的特点是元素是键、值对象,其中__键__可以重复,_值对象__不可以重复 2. (List)有如下代码: import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容,请使用三种方式来实现(课本227页,Iterator、增强for循环,普通循环)。 2) 三种代码与执行结果截图 1、用Iterator实现的代码如下: package zi; import java.util.*; publicclass Ex7_2{ publicstaticvoid main(String args[]){ List list = new ArrayList(); list.add("Hello"); list.add("World"); list.add(1, "Learn");

学校班级学号姓名

2008-2009学年度第二学期 小学二年级数学科第5、6单元测试题 (40分钟完成) 一、我会口算。(16分) 4500-500= 70+80= 5000-4000= 25千克+10千克= 600+1000= 1200-800= 2700-2000= 75千克-32千克= 900+600= 160-90= 500+3000= 6克×8= 400+500= 1000-200= 2100-100= 54千克÷9= 二、万以内数的知识我会做。(共23分,其中第1至4题每空1分,第5至8题每空2分) 1、一个数,从右边起第五位是()位,第三位是()位,千 位是第()位。 2、一千里面有()个百,一万里面有()个千。 3、8603读作(),其中8在()位上,0在()位上。 4、9999这个数从右起第三个9表示9个(),第四个9表示9个() 这是一个()位数。 5、体育馆可以容纳一万人。写数() 天空中有五百八十个气球。写数()。 6、一个四位数,千位上的数是5,十位上的数是4,百位和个位上的数 都是0,这个数是()。 7、由3个千,6个百,5个十组成的数是()。 8、用2、8、0、1这四个数组成一个最大的四位数是(), 组成一个最小的四位数是()。 三、重量单位的知识我会填。(35分,其中第1、3、4题每空1分) 1、(1)一袋盐重500克,()袋盐正好是1千克。 (2)1个2分硬币约重1克,()个2分硬币约重1千克。 1千克 = ()克 (3)4000克 = ()千克 3500克 = ()千克()克 (4)1600克+400克=( )克=( )千克 2、写出重量。(6分) 苹果重克千克千克 3、写出物品的重量单位名称。 (1)一个苹果重约120( ) (2)书包重约3()。 (3)一个大西瓜重4()。 (4)一头牛重420()。 (5)小明体重28()。 4、在○里填上“>”、“<”或“=”。 5千克○500克 3千克○3000克 600克○100千克 2500克○5千克 5、判断。(你认为对的在()里打“√”,错打“×”)(12分) (1)一袋奶粉重500克。() (2)一只鸭重3克。() (3)一根跳绳长2厘米。()

实验报告_实验5 类与类关系与抽象类(学生学号_姓名)

实验报告_实验5类与类关系与抽象类(学生 学号_姓名) 一、实验目的 1.理解继承的概念,掌握子类的创建方法; 2.熟悉成员变量的隐藏和方法覆盖; 3.掌握使用super访问被隐藏、覆盖的基类变量与方法; 4.理解继承的层次结构,熟悉构造方法的执行顺序; 5.理解访问修饰符的作用,熟悉访问修饰符对子类继承性的影响; 6.熟悉子类对象向上转型的实现方法和Object类的基本用法; 7.理解多态种类、意义、实现条件及基本应用; 8.理解内部类的作用、种类、实现方法及注意事项; 9.理解类与类之间的关系,了解单例模式的实现机理; 10.理解抽象类、抽象方法概念,熟悉它们的声明、使用。 二、实验内容与步骤 1.(基础题)根据题意及注释补充所缺少代码,然后运行程序 public Student(){} public Student(String sno, String sname, int age) { this.sname=sname; this.sno=sno; this.age=age; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getSname() { return sname;

} public void setSname(String sname) { this.sname= sname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } (1): class CollegeStudent extends Student (2): getSno() (3): getSname() (4): getAge() (5): major (6): student.setAge(26) (7): student.setSname("Jack") (8): cstudent.setSname("Jerry") (9): cstudent.setSno("1840700101") (10): cstudent.setAge(23) (11): cstudent.setMajor("物联网工程") 回答相关问题: (1)程序中有多少个类,哪个是主类?哪个是基类?哪个是子类? (2)程序中子类继承了基类哪些成员?基类对象如何给成员赋初值?子类对象又是如何给成员赋值? (3)是否可以不定义Student类的无参构造器? 2.(基础题)分析、运行以下程序,并回答相关问题: (1)分析程序,找出有问题的代码,请问出错原因是什么?

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

班级 学号 姓名 统计学 习题活页

第四章数据的描述性分析 1.一个车间200 要求:(1)计算工人生产零件的众数、中位数和算术平均数;(2)说明该数列的分布特征;(3)计算工人生产零件的标准差与标准差系数。 2 要求:(1)计算该公司产量计划完成百分比;(2)计算该公司实际的优质品率。 3.某企业2007

要求:(1)计算平均等级指标说明二季度比一季度产品质量的变化情况;(2)由于质量变化而给该企业带来的收益(或损失)。 4 要求:(1)计算两个菜场蔬菜的平均价格;(2)比较价格的高低,并说明原因。

5.打开Ex4_1,其中有15个数据。 要求:(1)计算这组数据的算术平均数、调和平均数和几何平均数,(2)比较三种平均数的大小;(3)将这组数据减少10、增加10,计算新生成的两组数列的算术平均数、标准差和标准差系数;(4)将这组数据乘以10、除以10,计算新生成的两组数列的算术平均数、标准差和标准差系数。 6.打开Ex4_2,其中是经济学专业2个班级的微积分的期末考试成绩。 要求:(1)计算这个专业微积分成绩的最高分、最低分、算术平均数和标准差(用工具“描述统计”);(2)分别计算这两个班级微积分成绩的最高分、最低分、算术平均数和标准差(用工具“描述统计”);(3)分别统计并做表列出两个班级各档分数的次数(用函数“Frequency”)与所占比重、列出向上、向下累计的次数与频率。

7.打开Ex4_3,其中是2005年江苏省52个县市人均地区生产总值。 要求:计算各项指标,并选择答案: (1)江苏省52个县市的平均人均地区生产总值是多少元? A. 20725 B. 18674 C. 15721 D. 19711 E.85124 (2)江苏省52个县市人均地区生产总值的标准差是多少? A. 36023 B. 11969 C. 9837 D. 5632 E. 21773 (3)江苏省52个县市人均地区生产总值的中位数是多少? A. 6923 B. 4292 C. 13119 D. 5798 E. 14992 (4)江苏省52个县市人均地区生产总值的偏态系数是多少? A. 0.55 B. -1.23 C. 2.56 D. 2.48 E. -0.10 (5)江苏省52个县市人均地区生产总值的峰度系数是多少? A. 8.92 B. -5.28 C. 2.02 D. 6.57 E. -0.54 (6)江苏省52个县市人均地区生产总值的全距是多少? A. 10964 B. 108647 C. 108586 D. 32948 E. 25124 (7)根据斯透奇斯规则对52个县市数据进行分组,组数是多少? A. 9 B. 5 C. 7 D. 6 E. 8 (8)若采用等距数列,根据组数和全距的关系,确定的组距是多少? A. 18500 B. 16300 C. 29400 D. 17000 E. 23200 (9)人均地区生产总值在20600~36900元之间的县市个数是多少? A. 35 B. 8 C. 5 D. 6 E. 20 (10)人均地区生产总值大于20600元的县市个数占全部县市比例是多少? A. 32.7% B. 20.2% C. 25.0% D. 15.6% E. 28.8%

学号_姓名_Java随堂考试实验报告(2015-12-2)

重庆邮电大学《Java程序设计及Eclipse 案例开发》 随堂考试实验报告 学院名称 专业名称 班级 学生学号 学生姓名 指导教师唐晓军 完成时间2015年12月2日 最终评定成绩

一、实验题目: 1、(30分) 从键盘读入10个字符串存入数组a中,然后输出这10个字符串中最大字符串和最小字符串。 class Test{ public static void main(String args[]) { String max = "a"; String min = "z"; for(int i=0;i<10;i++){ try{ System.out.println("请输入字符串:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String readline = br.readLine(); if(https://www.360docs.net/doc/c51037247.html,pareTo(readline)<0){ max=readline; } if(https://www.360docs.net/doc/c51037247.html,pareTo(readline)>0){ min=readline; } }catch(NumberFormatException e){ System.out.println("字符串格式输入有误,请重新输入。\n"); i--; }catch(IOException e){} } System.out.println("最大字符串为:"+max); System.out.println("最小字符串为:"+min); } } 2、(40分) 自定义一个矩形类(Rectangle),包含的属性有:长(length),宽(width),包含的方法有:关于属性的setter和getter方法,即setLength,getLength,setWidth,getWidth,计算矩形面积的方法(getArea)。

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。 2.掌握 Map 接口下 HashMap 及 HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在 main 方法编写逻辑代码 (3)运行程序并测试结果 package https://www.360docs.net/doc/c51037247.html,; public class Student { private String name ; private int age ; private String id ;

public String getName() { return name ; } public void setName(String name ) { this . name =name ; } public int getAge() { return age ; } public void setAge(int age ) { this. age=age ; } public String getId() { return id; } public void setId(String id) { this. id=id; } public Student(String name ,int age , String id ) { super(); this. name =name ; this. age=age ; this. id=id; } public void sayHi() { System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId()); } }

学校_班级_姓名_学号

2007—2008学年度第一学期六年级语文期中检测 成绩 一、词句训练 1、看拼音写词语10% j ìng m ? di ān b ǒ b ā l í shu ǎ l ài hu āng w ú r ?n y ān ( ) ( ) ( ) ( ) ( ) qu án h ?ng k ān ch ēng shu ? gu ǒ r ?ng qi à ch ū r ?n t ?u d ì ( ) ( ) ( ) ( ) ( ) 2、用“ ”划出加点字的正确读音。4% 蓦. 然(m ù m ?)薄雾(b áo b ?)逊色(x ūn x ùn )战车千乘(ch ?ng sh ang ) · · · · 秩序(zh ì ch ì)撇下(pi ē pi ě)刁难(n àn n án )枉费心机 (w ǎng w àng ) · · · · 3、用“ ”找出词语中的错别字,并把正确的字写在括号里。3% 锣鼓宣天( ) 悲愤欲决( ) 负偶顽抗( ) 惊心动魂( ) 爱不饰手( ) 银妆素裹( ) 4、把下面的句子写具体。6% ⑴他的肚量真大, 。 ⑵今夜可真黑, 。 ⑶校园里静得出奇, 。 5、根据读音或意思造句。4% ⑴di d ào 地 道 di dao 地 道 ⑵漂亮(好看的意思) 漂亮(指出色) 5、用修改符号修改下面一段话。6% 有一个劳改犯人外出修路时,检到了1000元钱,他不假思索地把它交给了监管警察。于是,监管警察却轻蔑的对他说,你别来这一套,拿自己的钱变着花样贿赂我,想换来减行,你们这号人就是不老实! 6、成语运用。3% 用几句话夸夸中国的剪纸艺术或中国的戏剧,至少用上三个成语,所用成语要用横线标出。 ……………………………………………………………………………………………装……………………………装……………………………… ……………… 学校校____________ ____________ _ 班级班级____________ ____________

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: 姓名: 指导老师:

进程调度的模拟与内存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可 自动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功 能用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。

7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置, PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验内容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果内存中的进程数还没达到规定道数,则将新建进程插入就绪

学院班级学号姓名

学院 交通学院 班级 学号 姓名 -----------------------〇------------ 装 --------------〇----------------- 订 --------------〇------------------ 线 --------------〇----------------------------------- 一、 填空(15分,每题1分) 1. 柴油机混合气形成方式有 和 两种。 2. 物体的热传递方式有 、 、 三种。 3. 燃烧放热规律的三要素是 、 、 。 4. 汽油机功率混合气的过量空气系数为 。 5. 化油器的省油系统的目的是 。 6. 发动机排出的主要有害气体是 CO 、 HC 和 __________。 7. 汽油机的_______ 是指节气门全开时测得的速度特性。 8. 发动机机械损失的测定方法有 、 、 三种。 二、 选择题(10分,每题1分) 1.汽油机在减速过程需要主要控制( ) 的排放 A.N 2 B.CO C.HC D.NO X 2.预燃室式燃烧室的预燃室容积约占整个燃烧室容积的( ) A.25~30% B.35~45% C.45~55% D.55~65% 3、下列对车用发动机增压系统优点的描述中不正确的一项是 ( ) A.减小发动机的比质量和外形尺寸 B.提高发动机的经济性指标 C.减少排气污染和噪声 D.降低发动机的机械负荷和热负荷 4、在四行程发动机实际循环中,哪个行程的温度最高? ( ) A .进气 B .压缩 C .作功 D .排气 5、汽油机的过量空气系数α的取值范围一般为( )。 A.0.85~1.1 B.1.2~1.5 C.1.8~2.0 D.1.7~2.2 6、汽油机表面点火和爆燃的主要区别是( )。 A. 表面点火时火焰传播速度较爆燃时高,最高可达 1000m/s 以上 B. 爆燃时金属敲击声比较沉闷,而表面点火时金属敲击声比较清脆 C. 表面点火是燃烧室内炽热表面点燃混合气所致,而爆燃是终燃混合气的自燃现象 D. 表面点火时伴有压力冲击波的产生,而爆燃时不产生压力冲击波 7、如果某柴油机油束雾化不好,下面哪种措施可能会明显提高油束雾化质量 ? ( ) A. 在其它条件不变的情况下,适当减小介质反压力 B. 在其它条件不变的情况下,适当降低喷油泵凸轮转速 C. 在其它条件不变的情况下,适当增加喷孔数目 D. 在其它条件不变的情况下,适当减小喷油压力

学号+姓名-(3)

学号+姓名-(3)

河南工程学院《软件综合运用》课程设计题目:智能优化算法 姓名:王朋成 学号:201411003116 学院:理学院 专业班级:数学与应用数学1441班 专业课程:软件综合运用设计 指导教师:刘凯 2017年9月8日

目录 课题1.最小化加权总完工时间和问题的计算 (1) 1.1.设计目的 (1) 1.2.问题介绍 (1) 1.3.最优算法 (2) 1.4.算法原理 (2) 1.5.程序代码 (2) 1.6.运行结果 (4)

课题2:最小化最大延误时间问题的计算 (6) 2.1.设计目的 (6) 2.2.问题介绍 (6) 2.3.最优算法 (6) 2.4.算法原理 (7) 2.5.程序代码 (7) 2.6.运行结果 (9) 心得体会 (12)

实验1.最小化加权总完工时间和问题的计算 1.1.设计目的 通过课程设计,熟练掌握最小化加权完工时间和问题的算法思想、程序设计及结果输出。对MATLAB 、JAVA 等编程语言与编程环境进行复习和强化,最后进行最优排序和目标函数的输出。本次设计本质上就是寻求一个组合最优化问题的最优解。并通过本次的课程设计熟练掌握WSPT 算法的基本思想,以此解决实际问题。 1.2.问题介绍 问题描述: 本次试验所计算问题为1j j w c ∑,该问题即为:有n 个工件 ) ,...1(j n j T =,工件j T 的加工时间为j P ,权重为j W ,工件 j T 在机器上的完工时间为j C 。本问题即确定工件 集),...1(j n j T =在机器上的加工顺序或加工位置,使得目标函数∑j j c w 达到最小。 问题背景: 考虑排序问题1||∑,其中n=5 P=(12,4,7,11,6),w=(4,2,5,5,6) 由wspt 规则,可得最优排序为[],加权总完工时间为∑=435

学号-姓名-C++第5次实验报告

实验报告 课程名称:面向对象程序设计(C++) 实验名称:类的多重/层继承和派生院(系): 专业班级: 姓名: 学号: 指导教师: 2018年10月30日

《面向对象程序设计(C++)》实验报告 课程名称:面向对象程序设计(C++) 实验项目名称:类的多重/层继承和派生 实验类型:综合型实验 实验地点:草堂机房 实验日期:2018年10月30 日 一、实验目的 (1)掌握类的多重继承和多层继承的声明方式及使用方法; (2)掌握类多重和多层继承和派生的构造函数和析构函数使用方法; (3)掌握多重继承二义性处理的方法; (4)掌握虚基类的使用方法; 二、实验内容和要求 分别定义Person类,Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求: (1)在Person类中含姓名、年龄、性别、电话等私有数据成员。在Teacher 类中还包含私有数据成员title(职称),在Cadre类中还包含私有数据成员post(职务),在Teacher_Cadre类中还包含私有数据成员wages(工资)。 (2)在Person类为Teacher类和Cadre类的直接基类;Teacher类和Cadre类为Teacher_Cadre类的直接基类; (3)使用虚基类方法继承Person类; (4)每个类都分别有有参和无参构造函数、数据成员输出函数; (5)分别创建Teacher_Cadre的无参对象和有参对象;(无参对象的数据成员从键盘输入完成构造),并分别输出两个对象的所有数据成员。 三、实验硬件、软件环境 1,PC计算机一台,配置为CPU为P4 2.8G,内存为512M,硬盘为80G; 2,WindowsXP , VC++6.0 。

班级姓名学号

A.少见 B.没见过 C.好看 D.多见 8、他们恐怕出事了。 A.发生意外 B.有重要的事情 C.发生大事 D.出现问题 9、事情办成这样,怎么跟老板交代呢? A.交往 B.替换 C.交换 D.说明 10、上个星期,这位大名鼎鼎的裁判来到了北京。 A.有势力 B.有名气 C.有本领 D.有天赋 11、在这个小区接连发生两起盗窃案。 A.续 B.继续 C.接着 D.跟着 12、当今的一代越来越讲究穿着了。 A.喜欢 B.重视 C.讨论 D.究 13、安全问题不容忽视。 A.不可以 B.不容易 C.包括 D.不简单 14、他现在变得大腹便便了。 A.大肚子很方便 B.肚子大不方便 C.子很肥大的样子 D.很随便的样子 15、教练杜莱和史文一向不和,杜莱正打算解雇他。 A.开除 B.教训 C.吓唬 D.控告 16、当初我的意见,你就是不听,这下出问题了吧! A.反应 B.接受 C.打听 D.理解 17、下班前,小王结账时发现少了五十块钱。 A.掉落 B.遗失 C.减少 D.缺少 18、不要再买点心了,再买妈妈又该说我们了。 A.解释 B.劝告 C.责备 D.表扬 19、这些事小王感到很头疼,他吃不好,睡不好。 A.激动 B.苦恼 C.失望 D.头难受 20、你为什么把人放走了?我不是告诉过你这个人无论如何也得把他留住吗? A.能 B.会 C.要 D.想 21、办风力发电站的事,八成吹了。 A.刮风 B.取消 C.吹牛 D.发电 22、小王,时间不早了,咱们别打篮球了,赶快打行李去吧。 A.捆 B.做 C.玩 D.取 23、我认为汉语不好学。 A.不容易学 B.学的不好 C.不应该学 D.不愿意学

相关文档
最新文档