java实验报告2
- 格式:doc
- 大小:493.00 KB
- 文档页数:5
实验报告课程:Java 编程技术班级:网络1203班学号:姓名:实验4 面向对象编程一、实验目的通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法,了解类的继承性和多态性的作用。
二、实验内容1.创建一个名为Dog的类,它具有重载的bark()方法。
bark()方法应根据不同的基本数据类型的参数来进行重载,bark()方法可根据参数输出狗吠(barking)、咆哮(howling)等信息。
编写main()方法来调用不同的bark()方法。
源代码如下:public class Dog {void f(int m){System.out.println("barking!");}void f(double n){System.out.println("hoeling!");}public static void main(String[] args){Dog d=new Dog();d.f(2);d.f(2.2);}}运行界面如下:2.创建Rodent(啮齿动物)类,其子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(大颊鼠)。
在父类中,提供对所有的Rodent通用的方法。
在子类中,根据该子类特定的行为习性来覆盖这些方法。
例如老鼠属杂食(omnivorous),鼹鼠主食昆虫(insect),大颊鼠主食植物种子(plant seed)。
创建一个Rodent 数组,填充不同的数据类型,然后调用父类的方法,观察会发生什么情况。
源代码如下:public class Rodent {void eat(){System.out.println("zhushi");}public static void main(String[] args){Rodent r[]=new Rodent[4];Rodent rodent=new Rodent();Mouse mouse=new Mouse();Mole mole=new Mole();Hamster hamster=new Hamster();r[0]=rodent;r[1]=mouse;r[2]=mole;r[3]=hamster;r[0].eat();r[1].eat();r[2].eat();r[3].eat();}}class Mouse extends Rodent{void eat(){System.out.println("omniovrous!");}}class Mole extends Rodent{void eat(){System.out.println("insect!");}}class Hamster extends Rodent{void eat(){System.out.println("plant seed!");}}运行界面如下:3.3.修改上述第9题中的Rodent类,使其成为一个抽象类。
附件2:实验报告封皮2015—2016学年第1学期Java应用程序设计课程实验报告学院:计算机科学技术专业:软件工程班级:14402姓名:邵磊学号:041440230任课教师:王薇实验日期:2015年11月02日实验题目Java简介及开发环境搭建实验内容1.熟悉Java开发环境2.Java程序的编辑和运行实验目的1.熟悉Java开发环境(1)熟悉JDK工具包的下载及安装过程。
(2)掌握JAVA_HOME、CLASSPATH及Path的配置内容。
(3)掌握Java程序运行原理及javac、java命令的使用。
2.Java程序的编辑和运行(1)熟悉用记事本编写Java程序的过程。
(2)了解Java程序的基本结构。
(3)掌握javac及java命令的使用。
(4)熟悉MyEclipse集成开发环境的使用。
实验步骤1.熟悉Java开发环境(1)登录Oracle官方网站Java首页/technetwork/java/index.html并下载最新版JDK工具包。
(2)将JDK工具包安装在D:\java\jdk1.6.0_18\文件夹中。
(3)完成JDK环境配置。
创建JAVA_HOME变量并设置其值为”D:\java\jdkl1.6.0_18”,创建CLASSPATH 变量并设置其值为”D:\java\jdkl1.6.0_18\lib”文件夹中的dt.jar、tools.jar及当前目录,在Path变量原有值的基础上增加”D:\java\jdk1.6.0_18\bin”。
(4)验证JDK是否配置正确。
2.Java程序的编辑和运行(1)创建D:\javaExecise文件夹。
(2)设置显示已知文件夹类型的扩展名。
(3)利用记事本完成Java程序的编写。
(4)利用命令编译运行Javs程序(5)在MyEclipse中编译并运行Java程序实验结果1.熟悉Java开发环境单击【开始】|【运行】命令打开【运行】对话框。
实验报告一、实验目的巩固复习课上所讲内容,进一步熟悉面向对象编程。
二、实验内容编写一个Shape类及其子类,它们代表一些基本的图形,定义一个常量PI。
给出能描述这些图形所必须的属性及必要的方法,包括:Shape类中定义一个求面积和一个求周长的方法,在子类里面重写这两个方法。
三、程序清单及运行结果package homework;public abstract class Shape{String lineColor,fillColor;double pi=3.14;public abstract float calCirum();public abstract float calSquare();public Shape(String lc,String fc){lineColor=lc;fillColor=fc;}public void print(){System.out.println("Linecoler is:"+lineColor+"\tFillcolor is:"+fillColor);}public static void main(String[]args){float radius=1.5f;MyCricle mc=new MyCricle(radius,"black","white");float rWidth=1.0f;float rLong=2.0f;MyRectangle mr=new MyRectangle(rLong,rWidth,"red","blue");System.out.println("显示圆的信息:");System.out.println("圆的周长为:"+mc.calCirum());System.out.println("圆的面积为:"+mc.calSquare());mc.print();System.out.println("矩形的信息:");System.out.println("矩形的周长为:"+mr.calCirum());System.out.println("矩形的面积为:"+mr.calSquare());mr.print();}}class MyCricle extends Shape{float radius;public MyCricle(float radius,String lc,String fc){super(lc,fc);this.radius=radius;}public float calCirum(){return((float)(radius*pi*2));}public float calSquare(){return((float)(radius*radius*pi));}}class MyRectangle extends Shape{float rLong,rWidth;public MyRectangle(float rLong,float rWidth,String lc,String fc){super(lc,fc);this.rLong=rLong;this.rWidth=rWidth;}public float calCirum(){return ((float)(this.rLong+this.rWidth)*2);}public float calSquare(){return ((float)(this.rLong*this.rWidth));}}运行结果:显示圆的信息:圆的周长为:9.42圆的面积为:7.065Linecolor is:black Fillcolor is:white矩形的信息:矩形的周长为:6.0矩形的面积为:2.0Linecolor is:red Fillcoler is:blue四、实验中出现的问题及解决方法问题1:将MyCricle和MyRectangle两个子类和主函数一起写在父类里面,导致整个程序结构混乱,可读性差。
姓名学号:班级:说明:实验2(类的继承,与接口的实现)1. 编一程序,求两个正整数m、n的最大公约数。
要求程序中有两个方法,分别使用循环和递归,最后在主方法中两次求解并输出最大公约数。
截图:代码:public class gcd {public static void main(String[] args) {int a = 6, b = 9;System.out.printf("two nums:%d %d\n", a, b);System.out.println("递归: " + gcd1(a, b));System.out.println("辗转相除: " + gcd2(a, b));}public static int gcd1(int m, int n){return m % n == 0 ? n : gcd1(n, m%n);}public static int gcd2(int m, int n){while(n != 0){int t = m;m = n;n = t % n;}return m;}}2. 使用类编写程序(在程序中定义类,然后在主方法中创建类的对象,并调用该类中的方法,观察所得结果。
)截图:代码:public class Date {public static void main(String[] args) {Date d = new Date();System.out.println(d);d.setYear(2011);d.setMonth(10);d.setDay(3);System.out.println(d);}public Date(){}public Date(int y, int m, int d){year = y; month = m; day = d;}public void setYear(int new_year){ this.year = new_year;} public void setMonth(int m){ this.month = m; }public void setDay(int d){ this.day = d; }public String toString(){return new String("" + year + "/" + month + "/" + day);}public int year = 2000, month = 1, day = 1;}3. 编写一个包含圆类的程序,并为圆类设计几个构造方法,编译并运行它。
java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。
那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。
java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。
2.熟练掌握Java中常用的Swing组件的使用方法。
3.熟练掌握Java程序中图形用户界面设计的方法。
4.熟练掌握使用JDBC操作数据库的方法。
5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。
二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。
该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。
设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。
系统功能分析是在系统开发的总体任务的基础上完成的。
该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。
供应商管理:主要包括供应商的添加、删除和修改。
产品管理:主要包括产品的添加、删除和进货、出货。
产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。
2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。
是组织、管理和控制信息系统开发过程的一种基本框架。
其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。
本科学生实验报告(二)姓名学院计算机科学学院专业计算机科学与技术班级实验课程名称Java面向对象设计试验时间2012年10 月14日指导教师及职称实验成绩开课时间2012—2013学年第一学期实验管理中心印制实验题目类与对象小组合作是○否⊙姓名班级学号一、实验目的1、熟悉Java面向对象程序设计的基本思想。
2、掌握类与对象的定义及使用方法。
3、掌握package语句与import语句的用法。
4、掌握java 继承中父类及其子类的定义方法。
5、掌握子类重写父类同名方法的方法。
6、掌握用法。
二.实验环境JDK1.6和Eclipse3.4.1开发环境三、实验内容与步骤一、分别定义三角形、梯形和圆形类,要求每个类中包含构造方法、求周长及面积的方法1、程序代码如下class Trangle {double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a,double b,double c){sideA=a;sideB=b;sideC=c;//参数a,b,c分别赋值给sideA,sideB,sideCif(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式{boo=true; //给boo赋值。
}else{boo=false; //给boo赋值。
}}double getLength(){if(boo){length=sideA+sideB+sideC;return length;}else{System.out.println("不是一个三角形,不能计算周长");return 0;}//方法体,要求计算出length的值并返回}public double getArea(){if(boo){double p=(sideA+sideB+sideC)/2.0;area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ;return area;}else{System.out.println("不是一个三角形,不能计算面积");return 0;}}public void setABC(double a,double b,double c){sideA=a;sideB=b;sideC=c; //参数a,b,c分别赋值给sideA,sideB,sideCif(a+b>c&&a+c>b&&c+b>a) //a,b,c构成三角形的条件表达式{boo=true; //给boo赋值。
一练习while语句1.【实验目的】(1)为了熟练掌握java课程中的基础知识,了解java语言的灵活性和可操作性;(2)提高大家的实践操作能力;(3)通过此次实验上机,对已学知识加以运用,从而更加深刻的理解和认识老师所讲过的内容。
2.【实验算法】(1)先用小的一个数除大的一个数,得第一个余数;(2)再用第一个余数除小的一个数,得第二个余数;(3)又用第二个余数除第一个余数,得第三个余数;(4)这样逐次用后一个数去除前一个余数,直到余数是0为止。
那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。
3.【实验要求】(1)按照题目要求编写java程序代码,并得到正确的运算结果,以达到实验的目的;(2)编写程序代码的过程中,不允许使用java语言以外的其他程序语言;(3)在调试过程中,若出现错误,必须重新修改程序,并将出错的原因写在实验总结中,做出适当的解释;(4)能熟练掌握jdk6.ZH_cn的使用方法。
4.【问题与解决方法】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
解决方法:辗转相除法程序:import java.util.Scanner;public class cl {public static void main(String[] args) { System.out.println("请输入两个数:");Scanner in=new Scanner(System.in);int m=in.nextInt();int n=in.nextInt();int r;int t;int a,b;int s;a=m;b=n;if(a<a){t=a;a=b;b=t;}r=a%b;if(r==0){System.out.println("最大公约数为:"+b);System.out.println("最小公倍数为:"+a);}else{while(r!=0){a=b;b=r;r=a%b;}s=m*n/b;System.out.println("最大公约数为:"+b);System.out.println("最小公倍数为:"+s);}}}测试结果:(1)请输入两个数:948最大公约数为:3最小公倍数为:144(2)请输入两个数:88最大公约数为:8最小公倍数为:8二练习for语句1.【实验目的】(1)为了熟练掌握java课程中的基础知识,了解java语言的灵活性和可操作性;(2)提高大家的实践操作能力;(3)通过此次实验上机,对已学知识加以运用,从而更加深刻的理解和认识老师所讲过的内容。
信息工程学院Java程序设计实习报告面向对象编程1. 实验目的掌握Java程序面向对象编程的基本架构, 会运用面向对象的思想编写Java程序。
2. 实验内容实验题1 阅读如下程序, 完成思考题。
class CCircl e{ d oubl e pi;d ouble radius;d ouble getRadius(){ return radius;}void setCircl e(d oubl e r, d oubl e p){ pi=p;radius=r;}}public class Ex2_1{ public static void main(String args[]){ CCircl e cir1=new CCircl e();cir1.setCircl e(2.0,3.1416);System.out.println("radius="+cir1.getRadius());}}程序的运行结果为: Radius=2.0。
实验题 2 设计一个用来描述汽车的类, 使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度, 使用类的非静态成员方法来表示改变汽车的实验报告的内容与格式按任课教师的要求书写。
速率和停车两个操作。
import java.util.Scanner;public class Car {String Name;d ouble Rate;d ouble Angl e;Car(String name,d ouble rate,d oubl e angl e){Name=name;Rate=rate;Angl e=angl e;}Car(){}void getrate(){if(Rate==0){System.out.println("停车! ");}else{System.out.println(" 行驶中! ");}}public static void main(String args[]){Car person=new Car();="ligang";person.Rate=90;person.Angl e=25;System.out.println(" 姓名: "++" 速度"+person.Rate+" 角度"+person.Angl e);person.getrate();}}程序运行结果如下:实验题3 定义一个类MyProgram, 包含两个属性: 一个是private的整型属性data、一个是private的String类型的属性str, 封装这两个属性的四个方法setData()和getData()、setStr( )和getStr();将这两个属性转变为字符串的方法是toStr()。