java实验报告心得体会(精选4篇)
1.java实验报告心得体会 篇一
实验报告
一、实验目的巩固复习课上所讲内容,进一步熟悉面向对象编程。
二、实验内容
编写程序求点到原点的距离
三、程序清单及运行结果
abstractclass Distance
{
abstract int distance();
}
public class Point{
public double x,y;
public Point(double i,double j){
x=i;
y=j;
}
public double distance(){
return Math.sqrt(x*x+y*y);
}
public static void main(String args[]){
Point p=new Point(1,1);
System.out.println(“p.distance()=”+p.distance());p=new Point3d(1,1,1);
System.out.println(“p.distance()=”+p.distance());}
}
class Point3d extends Point{
public double z;
public Point3d(double i,double j,double k){
super(i,j);
z=k;
}
public double distance(){
return Math.sqrt(x*x+y*y+z*z);
}
}
运行结果:
p.distance()=1.4142***1
p.distance()=1.***
2四、实验中出现的问题及解决方法
本次实验比较简单,没有出现较大的问题。
五、实验总结
通过本次实验,可以很好的将老师上课讲授的内容进行回顾,更深刻的理解面向对象编程,对以后的学习有很大帮助。实验中需要注意的问题是方法重载的相关概念以及明晰方法重载与方法重写的异同点;对super关键字的正确使用。
2.Java程序设计实验报告 篇二
实验一
实验题目:从键盘上读入10个字符串存入数组a中,然后输出这10个字符串中最大字符串和最小字符串。
实验代码:
public class StrPro {
public static void main(String[] args){
String str[] = new String[5];System.out.println(“Please input 10 strings:”);int i;String max,min;for(i=0;i<5;i++){
} max = str[0];min = str[0];for(i=0;i } } } } if(min.compareTo(str[i])>0){ } min = str[i];System.out.println(“最大的字符串为:”+max);System.out.println(“最小的字符串为:”+min);实验结果: 实验心得体会: 掌握了java的基本语法,数组的定义与使用,做这个实验要了解字符串数组的定义及字符串数组的输入方法,还有比较字符串数组的大小的调用方法等。 实验二 实验题目: 自定义一个矩形类(Rectangle),包含的属性有:长(length),宽(width),包含的方法有:关于属性的setter和getter方法,即setLength,getLength,setWidth,getWidth,计算矩形面积的方法(getArea)。 定义矩形类的子类正方形类(Square),包含的属性和方法自行确定,要求完成的功能是,能计算正方形的面积。 定义一个测试类(Test),测试矩形类和正方形类能否正确的计算面积。 以上类中属性和方法的访问权限自行确定,方法和构造方法若有参数,也自行确定。 实验代码: public class Rectangle { int Length;int Width;public int getLength(){ } public void setLength(int length){ } public int getWidth(){ return Width;Length = length;return Length;} public void setWidth(int width){ Width = width;} int getArea(){ return Length * Width;} } public class Square extends Rectangle{ Square(int border){ super.setLength(border); super.setWidth(border);} } public class Test { public void test(){ System.out.println(“请选择计算的形状的序号:1.矩形 Scanner sc = new Scanner(System.in); int i = sc.nextInt();int len,wid;2.正方形”); } if(i==1){ } else if(i==2){ } System.out.print(“请输入正方形的边长:”);Scanner s = new Scanner(System.in);len = s.nextInt();Square sq = new Square(len);System.out.println(“正方形面积为:”+sq.getArea());System.out.print(“请输入矩形的长:”);Scanner s = new Scanner(System.in);len = s.nextInt();System.out.print(“请输入矩形的宽:”);wid = s.nextInt();Rectangle re = new Rectangle();re.setLength(len);re.setWidth(wid);System.out.println(“矩形面积为:”+re.getArea());else{ } System.out.println(“输入错误!”); } public static void main(String[] args){ } new Test().test();实验结果: 实验心得体会: 做这个实验要掌握如何定义类以及类的成员变量、类的方法,学会对象的创建、对象属性的引用和方法的调用以及如何定义和使用构造方法。掌握this的使用以及派生子类的方法,理解关键字super的含义。理解继承中属性的隐藏和方法的覆盖机制,理解在继承关系中构造方法的调用过程。 实验三 实验题目:定义一个Student类,包含姓名(name)、身高(height)、体重(weight),以及talk()方法,该方法的功能是,输出自己的身高和体重信息。 Student类实现Comparable接口,实现按照体重的大小比较两个Student对象的大小。最后,定义一个测试类,生成一个数组,该数组有6个元素,每个元素类型是Student,调用Arrays.sort方法对该数组排序。 实验代码: public class Student implements Comparable public void setName(String name){ } this.name = name;public String getName(){ } return name;public Student(String name, float height, float weight){ } super();this.name = name;this.height = height;this.weight = weight;private String name;private float height, weight; public float getHeight(){ } return height;public void setHeight(float height){ } this.height = height;public float getWeight(){ } return weight;public void setWeight(float weight){ } this.weight = weight;public void speak(){ System.out.println(“我是” + name + “,我的身高是” + height + “,我的体重是” + weight); @Override } } public int compareTo(Student o){ } int flag;if(this.weight public String toString(){ } return “Person [name=” + name + “, height=” + height + “, weight=” + weight + “]”;public class Test { public static void main(String[] args){ } } int i;Student ps[] = new Student[6];ps[0] = new Student(“张三”, 170, 110);ps[1] = new Student(“李四”, 168, 120);ps[2] = new Student(“王五”, 165, 115);ps[3] = new Student(“赵六”, 172, 121);ps[4] = new Student(“周七”, 160, 100);ps[5] = new Student(“郑八”, 166, 119);System.out.println(“排序前数组元素的序列是:”);for(i = 0;i < ps.length;i++){ } Arrays.sort(ps);//调用Java系统类中的排序方法对ps数组排序 System.out.println(“n排序后数组元素的序列是:”);for(i = 0;i < ps.length;i++){ } System.out.println(ps[i]);ps[i].speak();实验结果: 实验心得体会: 学习JAVA WEB心得 Java Web,是用Java技术来解决相关web互联网领域的技术总和。在本次实验课的学习中,通过短短一个小时的了解,对JAVA WEB有了初步的认识。 首先了解了应用程序分为C/S(客户机/服务器)和B/S(浏览器/服务器)两大类。C/S即Client/Server典型应用有QQ,360安全卫士,B/S即Browser/Server,典型应用有人人网,腾讯微博。C/S和 B/S的主要区别在于程序是否需要安装。C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用,能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。缺点是客户端需要安装,其维护和升级成本非常高。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据,最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。 其次,又了解了网页主要分为动态网页和静态网页,动态网页归根结底还是静态网页,只是多了一些自己的标签,知道了静态网页三剑客指的是什么,以及三者之间的关系和分别承担的功能。网站做好后要部署发布。Tomcat最简单的部署是把整个文件夹拷到TOMCAT_HOME/webapps目录下。 了解了关于WEB应用的一些知识后,就到了编程的阶段了,虽然java是面向对象的语言,与面向过程的C语言有一些区别,但二者在编程思路上有贯通的地方,要善于区别二者的联系和不同,这样才能在C的基础上学好java。但学好一个语言不是一天两天的功夫,要想真正掌握,以后还需要勤加苦练。编程这个东西没有技巧可言,当时学C的时候就深刻领悟了这个道理,要想调高编程速度,就只能多练多编,孰能生巧,做的题目多了,碰到类似的题目,自然就会有想法有思路。相比于天赋,后天的练习对一个优秀的程序设计师来说更为重要。 随着本次实验课的结束,本学期的SQL实验也就结束了。虽然每次实验都做的很赶,感觉很多知识都是现场学现场用,但一个学期七次实验下来,确实还是学到了一些知识,至少一些基本操作是熟悉了,我想这对于今后对SQL的学习来说是很重要的一步。从这点,我所感受到的是,有时候表面上看起来没有什么收获的经历,定会在某个时刻绽放出他应有的光彩,所以,无论现在或将来我们会经历什么,都应该全心全意的品味当下,今天一个小小的经历说不定就会在将来的某一天改变你的一生。所以,实验课就算不喜欢,也要好好去上,一定能学有所获。 一、简单Java程序设计 一、实验目的 1. 学习使用JCreator开发JAVA代码。 2. 了解JAVA的运行环境,掌握开发JAVA代码所需要的相关配置。3. 在JCreator中输入习题程序,验证程序的正确性,熟悉开发环境。 二、实验内容 1. 设置实验环境 a.安装JDK,下载JDK包以后,按安装向导的提示依次安装,可直接安装在C盘根目录下。 b.更新环境变量: 2. 编写程序:由键盘输入两个字符串“12”与“24”,将它们转换成整数,然后计算并输出这两个数的和。 3. 编写程序:由键盘输入给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’和’D’,90分以上为’A’,75~89为’B’,60~74为’C’,60分以下为’D’。 4. 编一程序,求一个10项所组成的等差数列,其奇数项之和为135,偶数项之和为150。5. 用for语句输出下列数字金字塔: 1 3 1 1 3 5 3 1 3 5 7 5 3 1 1 3 5 7 9 7 5 3 1 6. 编写程序:由键盘输入一正整数,求出小于且等于这个数的所有质数。实验 二、基本数据类型和数组 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。 2.了解数组的使用与JAVA中对字符串的主要操作。 3.在JCreator中输入习题程序,验证程序的正确性,熟悉开发环境。 二、实验内容 1.编写程序:由键盘输入一整数,求出该数所有的因子,如输入6,则输出的6的所有因子为1、2、3、6。 2假设有一条钢材长2000米,每天截取其中的一半,编一程序求出多少天后,钢材的长度开始短于5米? 3编写程序:利用数列4(113151719111)来取得的近似值。并计算在得到3.14159之前,这个数列要取到第几项? 4使用java.long.Math类,生成10个0~99之间的随机整数,求出它们中的最大值和最小值。 提示:java.long.Math类支持random方法:Math.Random()。该方法返回值是正数,类型为double,范围为0~1。如果要得到其它范围的数,则要进行相应的转换。例如要得到(a,b)之间的整数的方法是:(int)((b-a+1)*Math.random()+a)。若要得到(0,99)之间的整数可以使用下列语句: int m =(int)(100*Math.random());5编写程序:声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相应的月份名称:August。同时请大家考虑若是用户输入了1~12以外的内容,你的程序将如何应对? 6编写程序:由键盘输入一16位的长整数,统计0~9这十个数字每一个出现的次数。7编写程序:将两个各有6个整数的数组,合并成一个由小至大排列的数组(该数组的长度为12)。8编写程序:以递归的方式实现1+2+3+„„+n(n = 200)的计算。 实验 三、类与对象 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。2.了解类和对象之间的关系。 3.在JCreator中声明一个类,其中有多个构造方法。用不同的构造方法创建对象。 二、实验内容 声明一个矩形类Rectangle,其中有多个构造方法。用不同的构造方法创建对象,并输出矩形的周长和面积。声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。写出下面程序的运行结果 class University { String name, city;University(String name, String city){ this.name = name;this.city = city;System.out.println(“super class”);} boolean samecity(String city){ if(city.equals(this.city))return true;else return false;} boolean samecity(University u){ return samecity(u.city);} } class UniversityWorld extends University { String country;UniversityWorld(String name, String city, String country){ super(name,city);this.country = country;System.out.println(“sub class”);} boolean samecity(String city, String country){ if(city.equals(this.city)&& country.equals(this.country))return true;else return false;} boolean samecity(UniversityWorld other){ return samecity(other.city, other.country);} } class UniversityWorldCity { public static void main(String args[]){ String city = “上海”,country = “中 国”;UniversityWorld u1 =new UniversityWorld(“北京大学”, “北京”, “中 国”);UniversityWorld u2 = new UniversityWorld(“清 华 大 学”, “北京”, “中 国”);System.out.println(“u1 = ” + u1.name + “, ” + u1.city + “, ” +u1.country);System.out.println(“u2 = ” + u2.name + “, ” + u2.city+ “,” + u2.country);System.out.println(“city = ” + city + “, country = ” +country);System.out.println(“u1.samecity(u2)= ” + u1.samecity(u2));System.out.println(“u1.samecity(city, country)= ” + u1.samecity(city,country));} } 实验 四、继承与接口 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。2.了解类的成员的访问权限和包的关系。 3.了解继承和接口的区别已及它们各自的作用,熟悉开发环境。 二、实验内容 创建两个String类的对象str1和str2,判断sr2是否是str1的子串。如果是,输出str1中,在子串ztr2前和后的字符串。如: “Action”是“addActionListener”的子串,在此子串前是字符串”add”,后面是字符串”Listener”。写出下面程序的运行结果 class Leve1{ String name=“"; int height,width;public Leve1(){;} public Leve1(Leve1 le){ name=le.name; height=le.height; width=le.width;} public Leve1(String na,int h,int w){ name=na; height=h; width=w;} public int higherthen(Leve1 t){ return this.height-t.height;} public void print(){ System.out.println(”class Leve1: “); System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } class Leve2 extends Leve1{ int width; public Leve2(){;} public Leve2(Leve1 le,int h,int w){ super(le); height=h; width=w;} public int widerthen(){ return width-super.width;} public void print(){ System.out.println(”class Leve2: “); System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } public class Lev_ex{ public static void main(String args[]){ Leve1 le1=new Leve1(”Tower_1“,50,20); Leve2 le2=new Leve2(le1,40,25); le1.print(); le2.print(); System.out.println(”Leve1 is “+le1.higherthen(le2)+” highter then Leve2.“); System.out.println(”Leve2 is “+le2.widerthen()+” wider then Leve1.“);} } 3、编写代码,完成功能:建立一个窗口,窗口上方横列“文件”、“选项”两个菜单项。其中“文件”菜单下隐含“退出”、“显示”、“隐藏”三个子菜单,每个子菜单都可用快捷键选择并且“退出”与其他两个子菜单之间用分隔线分隔。“选项”菜单下包含名称为“1”、“2”、“3”。。。“50”的50个菜单项,当选择其中任何一个数字选项时,窗口正中将显示0至该数字之间所有数的平方和(包含数字本身)。如选中选项“3”,则显示14(SUM=1*1+2*2+3*3=14)。实验 五、常用实用类 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。2.了解常用实用类的使用。 二、实验内容 求和工具。编写一个程序:设计如下面图示的界面。在该界面中,可以在第一个文本框中输入第一个加数,可以在第二个文本框中输入第二个加数,当用鼠标的左键单击按钮”="时,在第三个文本框中显示出前面两个加数之和。设计一个简单的计算器,能进行两个数的加、减、乘、除。界面如图所示。“clear”按钮用于清理文本域的内容。16方格排序游戏设计。编写一个程序:如图所示,要求在界面上设计4×4的按钮,即16个按钮排列成4×4的网格形状。其中有且只有15个按钮上有从1到15的数字,而且这些数字在按钮上不重复出现。另外有一个按钮上没有数字。当程序刚启动时这15个数字是随机排列的。当用鼠标左键单击某个按钮,如果该按钮上有数字而且该按钮在没有数字的按钮的边上,则将该按钮上的数字给没有数字的按钮,同时该按钮就变成了没有数字的按钮。当15个数字在4×4的网格中呈顺序或逆序排列,则显示消息框表明排列成功,并重新随机排列这15个数字在按钮网格上的位置。(提示: Math.random()可以产生随机数) 实验 六、GUI编程 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。2.了解GUI编程。 二、实验内容 1. 在下拉列表choice1中选择整数N,单击“生成”按钮在列表框List1和List2中显示N对的随机数(2~1000),在列表框List3中显示每对随机数的最大公约数。单击“排序”按钮,List3中的N个最大公约数按从小到大排列。(提示:排序算法采用冒泡法。两数的最大公约数可以采用欧几里得算法:不断用两数中较大数减较小的数,至到有一个数等于0。另外一个大于0的数就是这两数的最大公数约)。 2.完成程序实现一个简单的文本编辑器,其中File菜单实现Exit子菜单,Edit菜单实现Copy、Cut、Paste、DeleteAll功能,Option菜单实现字体设置功能。 3.在文本框中输入函数y=sin(ax)中a的值,点击draw按钮画出函数图形。 实验 七、多线程 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。2.了解多线程编程。 二、实验内容 1、编写程序,有两个线程,分别在屏幕上显示1~50之间的奇数和偶数。观察一共有几个线程在运行,各个线程是怎样被处理器执行的。 2、编写一个程序,创建两个线程,其中一个产生5个1~100之间的随机整数,另一个线程将这5个数加起来。观察运行的情况,分析是否正确。如果结果有问题,想办法解决它。 实验 八、图形图像 一、实验目的 1.进一步熟悉JCreator开发JAVA代码。2.了解图形图像编程。 二、实验内容 【java实验报告心得体会】推荐阅读: 实验报告心得范文07-24 外汇交易实验报告心得07-02 实验4实验报告12-03 实验报告顺序表实验08-05 实验记录及实验报告08-27 移位运算实验实验报告08-27 物流综合实验实验报告09-03 实验报告单科学实验06-30 嵌入式实验二实验报告07-26 数据库实验5实验报告09-203.数据库实验_6JAVA学习心得 篇三
4.JAVA实验指导书 篇四