实验二 Linux shell程序设计总结范文

第一篇:实验二 Linux shell程序设计总结范文

       实验二 Linux shell程序设计

       一、实验目的

       熟悉linux shell 简单程序设计

       二、实验内容

       1、变量引用。在用户主目录下运行如下命令

       $dir_1=/11/22 $echo $dir_1 $echo dir_1

       2、数组。在用户主目录下运行如下命令

       $city[0]=Beijing $city[1]=Shanghai $city[2]=Tianjin

       显示city的第二个元素的值

       $A=(this is an example of shell script)(1)同时显示数组A的第2、4、6个元素的值。(2)显示所有数组元素的值

       3、完成书上P106-107中关于read命令的使用的例子。

       4、完成书上p108-110例4.7-例4.9

       三、实验步骤

       1.输入命令:

       $dir_1=/11/22 $echo $dir_1 $echo dir_1

       2.输入命令:

       $city[0]=Beijing $city[1]=Shanghai $city[2]=Tianjin $echo ${city[2]} $A=(this is an example of shell script)$echo ${A[2]} ${A[4]} ${A[6]} $echo ${A[8]} 3.输入命令:

       $read x y z Today is Monday $echo $z $x $y $read n1 n2 n3 First Second Third 1234 abcd $echo $n3 $echo $n2 $n1 Read n1 n2 n3 1 2 $echo $n3 $echo $n1 $n2

       4.4-7:$touch m1.c

       $vi m1.c

       按”i”输入:main()

       {

       printf(“Beginn”);

       }

       按“Esc”输入“:wq”

       $cat m1.c

       $touch m2.c

       $vi m2.c

       按”i”输入:main()

       {

       printf(“OK!n”);

       printf(“Endn”);

       }

       按“Esc”输入“:wq”

       $cat m2.c $touch ex6

       $vi ex6 按”i”输入:#ex6:shell script to combine files and count lines

       cat $1 $2 $3 $4 $5b $6 $7 $8 $9|wc –l

       #end

       按“Esc”输入“:wq”

       $cat ex6 $chmod a x ex6 $PATH=$PATH:.$ex6 m1.c m2.c

       4-8 $touch ex7 Vi ex7 i #!/bin/bash #ex7:shell script to combine filesand count lines #using command set to set positional paramters Set m1.c m2.c Cat $1 $2 $3|wc-l #end $cat ex7 $chmod a x ex7 $PATH=$PATH:.$ex7

       4-9 $touch ex8 Vi ex8 i

       #!/bin/bash

       #ex8:shell script to demonstrate the shift command Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9 Shift Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9 Shift Echo $0 $ 1 $2 $3 $4 $5 $6 $7 $8 $8 &9 #end $cat ex8 $chmod a x ex8 $PATH=$PATH:.$ ex8

       四、实验总结

       通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序中LINUX基本命令的使用,理解了SHELL程序的设计方法,并且熟悉了SHELL程序编辑、运行、调试方法与过程。这位我日后继续深入学习LINUX课程打下基础。

第二篇:实验二 定时器程序设计121

       一、实验目的学会使用单片机定时器产生定时中断,并利用定时中断产生更长时间延时。

       二、实验设备及器件

       IBM PC机

       一台

       DP-51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台

       三、实验内容

       1.实验二 定时器程序设计

       2.编写程序,使P10端口来控制LED闪烁 3.C语言程序

       //1ms定时中断实现100ms发光管闪烁 #include“REG51.h” sbit LED=P1^0;void main(void){ TMOD = 0x01;//设置定时器模式 16位定时器

       TL0 = 0x18;//设置定时初值

       TH0 = 0xFC;//设置定时初值

       TR0 = 1;//定时器T0开始计时

       ET0=1;//开定时器中断

       EA=1;

       //开总中断

       while(1);}

       //******************** //1ms void pit0(void)interrupt 1(中断程序){ static unsigned char ms_cnt=0;//16 ffff TL0 = 0x18;//设置定时初值

       TH0 = 0xFC;//设置定时初值

       if( ms_cnt==100){

       ms_cnt=0;

       LED=!LED;} } 定时器的由程序

       直接汇编语言 ORG 0 AJMP MAIN ORG 0BH AJMP PIT0 MAIN: MOV TMOD,#01H MOV TH0,#18H MOV TL0,#0FCH SETB TR0 SETB ET0 SETB EA SJMP $

       生成;********************************** PIT0: MOV TH0,#18H MOV TL0,#0FCH INC R7 CJNE R7,#100,PIT0_R MOV R7,#0 CPL P1.0 PIT0_R: RETI END

       四 实验要求

       学会使用并掌握单片机定时器中断来实现LED100ms闪烁。

       五 实验步骤

       1.调试运行本节实验程序。若程序无错误,编译并进行二进制转换,下载程序。

       2.连接线路,将A2区的P10端口连接到D1区的任意LED接口。3.观察LED灯闪烁情况

第三篇:实验二 简单的C程序设计

       实验二

       简单的C程序设计

       实验目的:

       1.掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。

       2.通过编程进一步理解和掌握运算符的确切含义和功能。

       3.理解和掌握运算符与运算对象的关系,优先级和结合方向。

       1.通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。

       2.掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。3.掌握简单的C程序的查错方法。实验内容:

       一、输入程序,观察输出结果,并对输出结果作出合理的解释。1./* e1.cpp */ #include void main()

       {

       float x;double y;x=213.82631;y=213.82631;printf(“%-4.2f,-6.2en”,x,y);}

       输出结果: 解释:

       2./* e2.cpp */ #include void main(){

       char ch;

       int k;

       ch=’a’;k=10;

       printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);

       printf(“k=%%dn”,k);

       } 输出结果:

       解释:

       3./* e3.cpp */

       #include void main(){ float a1,a2;

       double b1,b2;

       a1=3141.59;a2=0.000001;

       b1=3141.59;b2=0.000001;

       printf(“%f,%lfn”,a1 a2,b1 b2);

       } 输出结果:

       解释:

       4. /* e4.cpp */ #include void main(){

       float x=5/2,y=5.0/2;

       printf(“x=%f,y=%fn”,x,y);} 输出结果:

       解释:

       二、编写程序。

       1. 编程(c1.cpp)定义3个整型变量x,y,z和一个实型变量averge,计算并输出3个整数的平均值averge,其中x=y=1,z=0。观察运行结果。再将x,y,z和averge改为实型变量,再观察运行结果。理解整除和不同类型数据进行混合运算的转化规律,对结果进行合理的解释。源程序:

       输出结果: 解释:

       2. 改写程序(c2.cpp),针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。要求输出结果的形式为averge=…。

       源程序:

       输出结果: 解释:

       3. 输入3个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b原来的值给c,把c中原来的值给a。源程序:

       输出结果:

       三、调示示例。1. 求华氏温度100。F对应的摄氏温度。计算公式:C=(5/9)(F-32),其中C表示摄氏温度,F表示华氏温度。源程序(有错误)#include void main(){

       int celsius;fahr;fahr=100;celsius=5*(fahr-32)/9;printf(“fahr=d,celsius=%dn”,fahr,celsius);} 1)输入源程序。

       2)实验一中用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。在工具栏

       或菜单栏上单击鼠标右键,出现如图所示的整个工具箱,在“编译”或“编译微型条”项前打上“√”。

       图中第1个按钮为“Compile”(编译,Ctrl F7),第2个按钮为“Build”(构件,F7),第4个按钮为“Build Execute”(执行,Ctrl F5)。3)单击“编译”工具条中的第1个按钮,出现第一个错误信息:

       Cannot open include file: 'stdoi.h': No such file or directory(不能打开stdoi.h)

       改正(应该是stdio.h)后,重新编译,新产生的第一个错误信息是:

       'fahr' : undeclared identifier(“fahr”变量没有定义)改正:将fahr前的分号改为逗号,重新编译,编译正确。

       4)单击“编译”工具条中的第2个按钮,连接正确。

       5)单击“编译”工具条中的第4个按钮,运行结果为 :

       fahr=d,Celsius=100

       不符合题目的要求,仔细检查源程序,发现函数printf()中的d应为%d,改正的,重新连接和运行,运行结果与题目要求的结果一致,程序调试结束。

       2. 改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值.请不要删除源程序中的任何解释。输入输出示例(假设x的值为3): 9=3*3 3*3=9 #include void main(){

       int y;

       y=x*x;

       printf(“%d=%d*%d”,x);

       /* 输出

       printf(“d*%d=%d”,y);

       }

       改正后的源程序:

       实验报告要求

       将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

第四篇:C语言程序设计实验二

       C语言程序设计实验

       (二)[实验1]

       1.实验题目

       下列各题的算法用传统流程图及N-S流程图两种方式表示:

       (1)输出图形(顺序结构)

       ★★★★★★★★

       ★★★★★★★★

       ★★★★★★★★

       ★★★★★★★★

       (2)判断用户输入的字符是数字字符、字母字符还是其它字符。(选择结构)

       (3)运用循环结构打印如下图形(for循环结构)。

       ◆

       ◆◆◆

       ◆◆◆◆◆

       ◆◆◆◆◆◆◆

       ◆◆◆◆◆◆◆◆◆

       (4)输入任意数N,求P的值(P=N!)(当型循环结构)

       (5)输出1~N间20个不能被3整除的数列(直到型循环结构)

       (6)计算并打印九九表。(直到型循环结构)

       2.实验目标

       (1)熟练掌握流程图表示算法的方法。

       (2)熟练掌握结构化程序设计的三种基本结构。

       [实验2] 变量的变化情况。

       1.实验题目

       有以下程序

       #include

       #definea 3*2 1

       #defineA a*a a

       #defineb(3*2 1)

       #defineB(b)*(b) (b)

       main()

       {

       int x1,x2;

       int y1,y2;

       x1=a*a;

       y1=A*A;

       x2=b*b;

       y2=B*B;//换为y2=(A)*(A)结果是否相同

       printf(“x=%d tty=%dn”,x1,y1);

       printf(“x=%dtty=%dn”,x2,y2);

       }用逐行断点测试方法,体会程序运行时各变量值的变化情况。

       2.实验要求

       (1)在上机实验之前先将每执行一条语句后变量x1、x2和y1、y2的预期结果写在相应语句旁。

       (2)设置4个监视项x1、x2和y1、y2,断点逐行测试执行程序。

       (3)每执行一条语句后,对比Watch窗口中变量x1、x2和y1、y2的值与预期的值是否一致,若不一致,请解释原因。

       (4)将语句“y2=B*B;”换为“y2=(A)*(A)”,测试结果是否相同,为什么?

       (5)运行结束后查看输出结果,确认该结果是否与预期的值一致。

       3.实验目标

       (1)宏定义的正确定义。

       (2)宏定义的正确使用。

第五篇:Java程序设计实验2

       学 生 实 验 报 告 册

       课程名称:

       学生学号:

       所属院部:

       (理工类)

       专业班级:

       学生姓名:

       指导教师: ——20 学年 第 学期

       金陵科技学院教务处制

       实验报告书写要求

       实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

       实验报告书写说明

       实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

       填写注意事项

       (1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

       (3)尽量采用专用术语来说明事物。

       (4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

       实验报告批改说明

       实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

       实验报告装订要求

       实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

       金陵科技学院实验报告

       实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

       金陵科技学院实验报告

       实验1 面向对象编程实验

       一、实验目的和要求

       (1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程

       (3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式

       二、实验仪器和设备

       奔腾以上个人计算机,windows操作系统。

       配置好JDK环境,安装集成开发环境(Eclipse)

       三、实验内容与过程

       1、JDK环境配置

       2、面向对象的封装性

       范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。代码如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){

       this.setName(n);

       this.setAge(a);

       this.setEnglish(e);

       this.setComputer(c);

       this.setMath(m);} public float sum(){

       return english computer math;} public float avg(){

       return this.sum()/ 3;} public float max(){

       float max = computer>math?computer:math;

       max = max>english?max:english;

       return max;} public float min(){

       float min = computer

       min = min

       return min;

       金陵科技学院实验报告

       } public String getInfo(){

       return “学生信息: n”

       “t|-姓名:” this.getName() “n”

       “t|-年龄:” this.getAge() “n”

       “t|-数学成绩:” this.getMath() “n”

       “t|-英语成绩:” this.getEnglish() “n”

       “t|-计算机成绩:” this.getComputer();} public void setName(String n){

       name = n;} public void setAge(int a){

       age = a;} public void setEnglish(float e){

       english = e;} public void setComputer(float c){

       computer = c;} public void setMath(float m){

       math = m;} public String getName(){

       return name;} public int getAge(){

       return age;} public float getEnglish(){

       return english;} public float getComputer(){

       return computer;} public float getMath(){

       return math;} } public class ExecDemo{ public static void main(String args[]){

       Student stu = new Student(“张三”,30,89.0f,91.0f,87.0f);

       System.out.println(“总分:” stu.sum());

       金陵科技学院实验报告

       }

       } System.out.println(“平均分:” stu.avg());System.out.println(“最高分:” stu.max());System.out.println(“最低分:” stu.min());System.out.println(stu.getInfo());对照范例写出如下题目:

       (1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。

       可以从此地址类中得到一个完整的地址信息。

       (2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”,它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“设置员工姓名”、“设置员工号码”、“设置员工基本薪水”、所有员工信息的输出getInfo。(3)、定义一个圆形类,可以返回圆的面积与周长。

       class Circle{

       成员变量 半径 r

       构造方法

       成员函数 设置和获取 半径

       计算周长

       计算面积

       所有信息输出 } 定义一个矩形类,返回矩形的面积与周长(4)、思考设计:一个人有一本书,一本书属于一个人。//一个人有一本书,一本书属于一个人 //类 新的类别、类型 定义新的数据类型 //两个类的关系 独立的两个类 使用 class Person{ private String name;private int age;private Book book;//一个人有一本书 public Person(){

       } public Person(String name,int age){ this.name=name;this.age=age;} public void setBook(Book book){ this.book=book;} public Book getBook(){ return this.book;

       金陵科技学院实验报告

       } } class Book{ private String name;private float price;private Person person;//一本书属于一个人 public Book(){ } public Book(String name,float price){ this.name=name;this.price=price;} public void setPerson(Person person){ this.person=person;} public Person getPerson(){ return this.person;} } public class TestBP{ public static void main(String args[]){ Person per=new Person(“zhangsan”,20);Book bok=new Book(“Java program”,20.0f);per.setBook(bok);//一个人有一本书

       bok.setPerson(per);//一本书属于一个人

       per.getBook().getPrice();bok.getPerson().getName();} }

       3、面向对象的继承性

       范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:

       反转类:可以将数组的内容反转排列

       排序类:可以对数组进行排序的操作 class Array{ private int temp[] = null;// 只是声明数组,但是大小未知

       private int foot = 0;// 用于保存下一个的记录点

       public Array(int len){

       if(len>0){

       this.temp = new int[len];// 此时大小由外部决定

       }else{

       this.temp = new int[1];// 至少开辟一个空间

       } }

       金陵科技学院实验报告

       public boolean add(int i){ // 加入数据操作

       if(this.foot

       this.temp[this.foot] = i;// 加入内容

       this.foot ;// 改变长度

       return true;// 加入成功返回true

       }else{

       return false;// 加入失败

       } } public int[] getArray(){ // 返回全部的数组

       return this.temp;} } class SortArray extends Array{ public SortArray(int len){

       super(len);} public int[] getArray(){

       java.util.Arrays.sort(super.getArray());// 排序操作

       return super.getArray();// 返回的是排序后的内容

       } } class ReverseArray extends Array{ public ReverseArray(int len){

       super(len);} public int[] getArray(){

       int rt[] = new int[super.getArray().length];// 根据大小开辟新数组

       int count = rt.length-1;

       for(int x=0;x

       rt[count] = super.getArray()[x];

       count--;

       }

       return rt;} } public class ArrayDemo{ public static void main(String args[]){

       ReverseArray arr = new ReverseArray(6);

       System.out.println(arr.add(3));

       System.out.println(arr.add(23));

       System.out.println(arr.add(1));

       System.out.println(arr.add(5));

       金陵科技学院实验报告

       System.out.println(arr.add(6));

       System.out.println(arr.add(8));

       System.out.println(arr.add(11));

       System.out.println(arr.add(16));

       print(arr.getArray());} public static void print(int i[]){

       for(int x=0;x

       System.out.print(i[x] “、”);

       } } } 对照范例写出如下题目:

       (1).创建GrandFather类,其中包括

       a)属性:姓名(name),年龄(age)

       b)方法getGrandFather():显示爷爷的信息

       c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类 a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。

       c)方法getFather(): 显示父亲的相关信息

       (3).创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。

       3、面向对象多态性

       范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo;abstract class Bottom { //父类抽象类 底部

       public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圆形底

       /** * 半径

       */ private double radius;

       @Override public double calculatorArea(){

       return Math.PI * radius * radius;} public double getRadius(){

       金陵科技学院实验报告

       return radius;} public void setRadius(double radius){

       this.radius = radius;} public CircleBottom(double radius){

       super();

       this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底

       private double sideA;

       private double sideB;public double getSideA(){

       return sideA;} public void setSideA(double sideA){

       this.sideA = sideA;} public double getSideB(){

       return sideB;} public void setSideB(double sideB){

       this.sideB = sideB;} @Override public double calculatorArea(){

       return sideA * sideB;} public SquareBottom(double sideA, double sideB){

       super();

       this.sideA = sideA;

       this.sideB = sideB;} } class ZhuTi { //柱体类,完成形状的拼装

       /** * 底

       */ private Bottom bottom;/** * 高

       */

       金陵科技学院实验报告

       private double height;/** * 计算体积

       * @return */ public double calculatorVolumn(){

       return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){

       super();

       this.bottom = bottom;

       this.height = height;} public Bottom getBottom(){

       return bottom;} public void setBottom(Bottom bottom){

       this.bottom = bottom;} public double getHeight(){

       return height;} public void setHeight(double height){

       this.height = height;} public void changeBottom(Bottom bottom){

       this.bottom = bottom;} } public class VolumnTest { //测试类

       public static void main(String[] args){

       Bottom bottom = new CircleBottom(1.0);

       double height = 1.0;

       ZhuTi zhuTi = new ZhuTi(bottom,height);

       double result = zhuTi.calculatorVolumn();

       System.out.println(“圆柱体的体积是:” result);

       bottom = new SquareBottom(1.0,1.0);

       zhuTi.changeBottom(bottom);

       result = zhuTi.calculatorVolumn();

       System.out.println(“立方体的体积是:” result);} } 范例:接口和多态的应用,例如:电脑上实现了USB接口,U盘,打印机等等也都实现了此标准。

       金陵科技学院实验报告

       interface USB{ public void start();// 开始工作

       public void stop();// 结束工作 } class Computer{ public static void plugin(USB usb){

       usb.start();

       usb.stop();} };class Flash implements USB{ public void start(){

       System.out.println(“U盘开始工作。”);} public void stop(){

       System.out.println(“U盘停止工作。”);} };class Print implements USB{ public void start(){

       System.out.println(“打印机开始工作。”);} public void stop(){

       System.out.println(“打印机停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){

       Computer.plugin(new Flash());

       Computer.plugin(new Print());} };对照范例,写出以下程序:(1)乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2)计算机模拟

       四、实验结果与分析(程序运行结果及其分析)

       五、实验体会

       金陵科技学院实验报告

       实验项目名称: 类集

       实验学时: 4 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

       金陵科技学院实验报告

       实验2 类集

       一、实验目的和要求(1)理解类集概念

       (2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList类、HashSet类和TreeSet类(4)理解TreeMap、HashMap

       二、实验仪器和设备

       奔腾以上个人计算机,windows操作系统。

       配置好JDK环境,安装集成开发环境(Eclipse)

       三、实验内容与过程

       1、类集应用

       范例:实现一个超市管理系统,要求可以添加货物,删除货物和查询货物:

       。代码如下:

       public interface Goods { public String getName();// 得到商品名称

       public int getCount();// 得到商品数量

       public float getPrice();// 得到商品价格 }

       public class Book implements Goods {

       private String name;private int count;private float price;

       public Book(){ }

       public Book(String name, int count, float price){

       this.name = name;

       this.count = count;

       this.price = price;}

       public String getName(){

       return name;}

       public void setName(String name){

       this.name = name;

       金陵科技学院实验报告

       }

       public int getCount(){

       return count;}

       public void setCount(int count){

       this.count = count;}

       public float getPrice(){

       return price;}

       public void setPrice(float price){

       this.price = price;}

       public boolean equals(Object obj){

       if(this == obj){

       return true;

       }

       if(!(obj instanceof Book)){

       return false;

       }

       Book b =(Book)obj;

       if(b.name.equals(this.name)&& b.count == this.count

       && b.price == this.price){

       return true;

       } else {

       return false;

       } }

       public int hashCode(){

       return this.name.hashCode() new Integer(this.count).hashCode()

        new Float(this.price).hashCode();}

       public String toString(){

       return “书名:” this.name “;书的价格:” this.price “;书的数量:”

        this.count;}

       金陵科技学院实验报告

       }

       import java.util.ArrayList;import java.util.Iterator;import java.util.List;

       public class SuperMarket { private List allGoods;

       public SuperMarket(){

       this.allGoods = new ArrayList();}

       public void add(Goods goods){

       this.allGoods.add(goods);}

       public void remove(Goods goods){

       this.allGoods.remove(goods);}

       public List search(String keyWord){

       List temp = new ArrayList();

       Iterator iter = this.allGoods.iterator();

       while(iter.hasNext()){

       Goods g = iter.next();

       if(g.getName().indexOf(keyWord)!=-1){

       temp.add(g);

       }

       }

       return temp;}

       public List getAllGoods(){

       return this.allGoods;} }

       import java.util.Iterator;import java.util.List;

       public class Test {

       金陵科技学院实验报告

       public static void main(String[] args){

       SuperMarket mak = new SuperMarket();

       mak.add(new Book(“Java”, 2, 30.9f));

       mak.add(new Book(“C ”, 3, 10.9f));

       mak.add(new Book(“JSP”, 5, 80.9f));

       print(mak.search(“J”));

       mak.remove(new Book(“Java”, 2, 30.9f));

       print(mak.search(“J”));}

       public static void print(List all){

       Iterator iter = all.iterator();

       while(iter.hasNext()){

       System.out.println(iter.next());

       } } } 对照范例写出如下题目:

       (1)宠物商店,要求可以添加、删除和查找宠物(2)实现以下两个关系

       A、一个学校可以有多个学生,所有学生属于一个学校

       B、一门课程可以有多个学生选,一个学生可以选多门课程

       四、实验结果与分析(程序运行结果及其分析)

       五、实验体会

       金陵科技学院实验报告

       实验项目名称: Java IO操作

       实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

       金陵科技学院实验报告

       实验3 Java IO操作

       一、实验目的和要求

       (1)理解输入输出流概念(2)掌握文件输入输出流

       (3)掌握键盘的输入、显示器的输出(4)理解其他输入输出流

       二、实验仪器和设备

       奔腾以上个人计算机,windows操作系统。

       配置好JDK环境,安装集成开发环境(Eclipse)

       三、实验内容与过程

       1、编写类模拟命令Copy

       范例:实现文件的复制代码。参考代码如下:

       File file1 = new File(“d:” File.seperator ”demo.txt”);

       // 找到第一个文件的File对象

       File file2 = new File(“d:” File.seperator ”cemo.txt”);// 找到目标文件路径 InputStream input = new FileInputStream(file1);// 输入流 OutputStream output = new FileOutputStream(file2);// 输出流 int temp = 0;// 定义一个整数表示接收的内容

       while((temp = input.read())!=-1){ // 表示还有内容可以继续读

       output.write(temp);// 写入数据 } input.close();// 关闭 output.close();// 关闭

       2、通过键盘的输入,实现简单的选项操作。

       *********XXXX管理系统***********

       [1]添加

       [2]删除

       [3]修改

       [4]查询

       [5]退出

       3、编写一个简单管理系统,实现真实的操作。

       四、实验结果与分析(程序运行结果及其分析)

       五、实验体会

       金陵科技学院实验报告

       实验项目名称: JDBC

       实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

       金陵科技学院实验报告

       实验4 JDBC

       一、实验目的和要求(1)理解JDBC分类

       (2)掌握JDBC数据库连接步骤

       (3)掌握JDBC连接MySQL数据库代码(4)理解JDBC连接其他数据库方式

       二、实验仪器和设备

       奔腾以上个人计算机,windows操作系统。

       配置好JDK环境,安装集成开发环境(Eclipse)

       三、实验内容与过程

       1、安装MySQL数据库,配置好数据库

       创建一个数据库表,按要求给出详细的字段设计

       pid name age birthday salary

       主要操作:

       2、创建Eclipse项目,配置驱动包

       每个数据库厂商都会提供对Java开发技术的支持,即都会提供对应的Java驱动,也就是一个jar包

       主要操作:

       3、项目中建立一个详细例子,按照要求连接、操作、关闭数据库

       按照标准的步骤完成对MySQL数据库的操作

       主要代码:(添加、修改、删除和查询)

       金陵科技学院实验报告

       4、试着连接其他类型数据库。

       四、实验结果与分析(程序运行结果及其分析)

       五、实验体会