合工大JAVA实验报告计划_第1页
合工大JAVA实验报告计划_第2页
合工大JAVA实验报告计划_第3页
合工大JAVA实验报告计划_第4页
合工大JAVA实验报告计划_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、合工大JAVA实验报告计划合工大JAVA实验报告计划23/23合工大JAVA实验报告计划Java技术实验报告实验一:2016年10月11日学院计算机与信息学院专业班级姓名成绩课程名称Java技术实验项目名称实验一Java开发环境的安装与配置指导教师教师评语教师署名:年代日一、实验目的1掌握JDK的安装步骤(有条件的话能够在Linux系统下安装)。2理解环境变量PATH,CLASSPATH的作用,以及它们的设置方法(Win98和Win2000/XP下的不同样设置方法)。3熟习TextPad(或JCreator)编写环境,编写简单的Application程序,并编译和解说履行。4记录编译和履行Ja

2、va程序中间的系统错误信息提示,并给出解决方法。二、实验原理1掌握安装Jdk1.6的过程。2安装JCreator软件,用于编译java程序。3.在Textpad环境下编写一个HelloWorld.java程序,在DOS提示符下编译并履行这个程序。4.设置环境变量PATH,CLASSPATH,使得Java程序能正确编译和履行。5.编写一个类A,它位于包a中,保留到A.java中,再编写一个类B,它位于包b中,保存到B.java中。在类B中实例化类A的一个对象。分别编译类A和类B。三、使用硬件、软件环境PC计算机一台,配置为CPU为1.5G,内存为512M,硬盘为40G,安装WindowsXP操作

3、系统。其他,使用JCreator,JDK1.6.0等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)1安装Jdk1.6.0集成环境,安装成功后,配置path,classpath路径,让用户在任何目录下均可用到Java的系统资源。先配置%JAVA_HOME%环境变量,路径为jdk的目录;配置path环境变量,路径为%JAVA_HOME%bin;再配置classpath环境变量,路径为%JAVA_HOME%jrelib;2在记事本编写helloworld程序,并在DOS命令行下编译运转。在JCreator中写出以下代码,并保留为HelloWorld.java:publicclas

4、sHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(HelloWorld!);在命令行中进入到该文件路径,并输入javacHelloWorld.java达成编译,再输入javaHelloWorld达成运转。3用记事本编写包a包b的程序,并用DOS命令行运转。履行过程:将两个记事本,更名为A.java和B.java,并写出以下程序:Ajava文件的源程序:packagea;publicclassApublicvoidsay()System.out.println(Succeed!);javab.BB.java文件中的源程序:

5、packageb;importa.*;publicclassBpublicstaticvoidmain(Stringargs)Aaa=newA();aa.maker();先在DOS命令行中编译A.java文件,在命令行中输入javacA.javad.再编译B.java文件,在命令行中输入javacB.java-d.在命令行中输入即可达成。五、实验结论、分析、思虑题与心得意会经过本次实验,我有以下几方面的收获、认识和意会:1、学会了在记事本和命令行,JCreator,等环境下编写程序及运转程序的方法;2、学会了怎样安装JDK,以及怎样配置%JAVA_HOME%,path,classpath等环境

6、变量3、加深了Java中有关语法的认识:文件名必然与public类的类名同样,而且一个文件中只赞成有一个public类。Java对大小写敏感,如String中的S就严格划分大小写;对中文标点符号和英文标点符号敏感,java只好鉴识英文标点符号。在用记事本编写包a包b的程序,并用DOS命令行运转时。要将两个类分别放在两个文件中,要先编译A.java再编译B.java,在编译时必然要在命令行中输入javacA.javad.和javacB.javad.才能自动打包;两个文件都编译完成此后,在命令行的父目录中输入javab.B来履行,输入。、思虑题1).什么是JVM,它的作用是什么?JVM就是java

7、虚假机的英文简写,java虚假机就是为任何的平台供给一个编译java程序的接口。就是将编译的java程序翻译,以供不同样的平台去鉴识。2).怎样理解PATH和CLASSPATH,,怎样设置它们。PATH和CLASSPATH分别是JavaJDK和JRE的路径。设置是在计算机属性中的高级系统设置的环境变量,配置方法以下:先配置%JAVA_HOME%环境变量,路径为jdk的目录;配置path环境变量,路径为%JAVA_HOME%bin;再配置classpath环境变量,路径为%JAVA_HOME%jrelib;Java技术实验报告实验二:2016年10月11日学院计算机与信息学院专业班级姓名成绩课程

8、实验项目实验二类的封装、继指导Java技术名称名称承、多态教师教师评语教师署名:年代日一、实验目的复习、理解OOP的三大特点封装、继承和多态。学会使用Java编写简单的类。理解类的属性和方法。3.掌握重点字private,protected,public的作用,掌握静态类,内部类的见解。掌握多态的见解。二、实验原理分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之知足以下要求:(1)Point2D有两个整型成员变量x,y(分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x,y的初始化。(2)Point2D有一个void型成员方法offse

9、t(inta,intb),它能够实现Point2D的平移。(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z(分别为三维空间的X,Y,Z方向坐标),Point3D有两个结构方法:Point3D(intx,inty,intz)和Point3D(Point2Dp,intz),二者均可实现对Point3D的成员变量x,y,z的初始化。(4)Point3D有一个void型成员方法offset(inta,intb,intc),该方法能够实现Point3D的平移。(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距

10、离,再实例化两个Point3D的对象p3d1,p3d2,打印出他们之间的距离。(提示:java.lang.Math.sqrt()方法)三、使用硬件、软件环境PC计算机一台,配置为CPU为1.5G,内存为512M,硬盘为40G,安装WindowsXP操作系统。其他,使用JCreator,JDK1.6.0等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)利用类的继承写一个point2D类,其子类是point3D。子类Point3D的结构函数调用了父类的结构函数;计算平面两点的距离函数和计算空间两点的距离函数写在父类Point2D中,而且他们是静态方法,在子类继承后,在其主方法(主

11、方法是静态的)中能够直接调用(或许经过类名调用);其他平移函数能够对点进行平移。源程序以下:classPoint2Dintx,y;publicPoint2D(intx,inty)/有参结构函数,对x,y初始化this.x=x;this.y=y;voidoffset(inta,intb)/平移函数x=x+a;y=y+b;publicstaticdoubledistance2D(Point2Da,Point2Db)returnMath.sqrt(Math.pow(a.x-b.x),2)+Math.pow(a.y-b.y),2);/静态方法,求平面两点的距离publicstaticdoubledis

12、tance3D(Point3Da,Point3Db)returnMath.sqrt(Math.pow(a.x-b.x),2)+Math.pow(a.y-b.y),2)+Math.pow(a.z-b.z),2);/静态方法,求空间两点的距离publicclassPoint3DextendsPoint2Dintz;Point3D(intx,inty,intz)/结构函数,对x,y,z初始化super(x,y);this.z=z;Point3D(Point2Dp,intz)/结构函数,对x,y,z初始化super(p.x,p.y);this.z=z;voidoffset(inta,intb,intc

13、)/平移函数x+=a;y+=b;z+=c;publicstaticvoidmain(Stringargs)Point2Dp2d1=newPoint2D(10,3);Point2Dp2d2=newPoint2D(2,2);Point3Dp3d1=newPoint3D(10,11,0);Point3Dp3d2=newPoint3D(1,6,0);Point3Dp3d3=newPoint3D(p2d1,16);System.out.println(distance2D=+distance2D(p2d1,p2d2);System.out.println(distance3D=+distance3D(p

14、3d1,p3d2);运转结果:五、实验结论、分析、思虑题与心得意会经过本次实验,我有以下几方面的收获、认识和意会:1、学会了类的继承、封装、多态的基本应用,学会了两个方法aqrt()和pow()在程序中的运用。2、加深了Java中有关语法的认识:子类继承父类的非私有成员,但是不可以够继承结构方法,必然用super()来调用父类的结构方法。结构方法能够经过形参的个数、种类、摆列不同样来重载。Math类属于java.lang包,而且pow()和sqrt()都是static静态方法,可以直接经过Math.pow()和Math.sqrt()来调用。Static静态方法只好直接调用静态成员,不可以够直接

15、调用非静态成员。3、思虑题1).什么是类的多态性。接口的多种不同样的实现方式即为多态。同一段代码在不同样的地方,会履行不同样的操作。Java技术实验报告实验三:2016年10月11日学院计算机与信息学院专业班级姓名成绩课程实验项目实验三鉴于GUI的网指导Java技术名称名称络通讯程序设计教师教师评语教师署名:年代日一、实验目的掌握Java中GUI程序的编写,包含事件监听系统。2掌握Java的网络通讯编程,ServerSocket,Socket类的使用。3掌握Java中多线程的编程,Thread类,Runnable接口的使用。4掌握用面向对象的方法分析和解决复杂问题。二、实验原理编写程序达成以下

16、功能:1.设计一个鉴于GUI的客户-服务器的通讯应用程序,如图1,图2所示。图1Socket通钦佩务器端界面2Socket通讯客端界面2.1Socket通钦佩器端界面,点界面中的【Start】按,启服器听服(在1界面中的多行文当地区示“Serverstarting字”)。2Socket通讯客端界面,点界面中的【Connect】按与服器成立接,并在2所示界面中的多行文当地区示“Connecttoserver字,当服器端听到客端的接后,在1界面中的多行文当地区追加一行“Clientconnected字,”并与客端成立Socket接。3.当1所示的服器端和2所示的客机端成立Socket接后,程两头的

17、数据通讯,每次将接收到方的数据追加示在多行文本框中。三、思虑题整个行,写出心得。在达成上述内容的基上,服器端能与多个客机行通讯。、使用硬件、软件环境PC计算机一台,配置为CPU为1.5G,内存为512M,硬盘为40G,安装WindowsXP操作系统。其他,使用JCreator,JDK1.6.0等软件四、实验过程、步骤及原始记录(算法、原程序、测试结果,分析等)分别编写两个文件Client.javaServer.java;这两个代码的结构十分相像,都是先写一个主类,再写另一个实现类,主类经过创立实现类的对象来调用其结构方法来实现功能。实现类中写了好多方法,也写了好多内部类,方法层层调用。实现类在

18、结构方法中写了调用了实现GUI的函数,也为按钮注册了监听器。在不同样的内部类中写了不同样监听器所调用的actioPerformed()方法。在服务器中创立ServerSocket对象来接受客户端的连结恳求,并指定端口号,客户端通过Socket对象来向服务器的ip和端口发送连结恳求。服务器在接到连结恳求后,服务器会创立一个新的Socket对象与客户端的Socket对象连结。连结成功后经过IO流来通信,服务器的输入流是客户端的输出流,服务器的输出流时客户端的输入流。服务器代码以下:importjava.awt.*;importjava.awt.event.*;importjava.util.*;i

19、mportjava.io.*;.*;importjavax.swing.*;publicclassServerpublicstaticvoidmain(Stringargs)MyFrameserve=newMyFrame();serve.setVisible(true);serve.setResizable(false);/设置此窗体能否可由用户调整大小serve.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置默认封闭操作classMyFrameextendsJFrameJTextFieldport;JButtonstart;JTextAr

20、eacontent;JTextFieldcin;JButtonsay;Socketsocket;MyFrame()init();StartListensListen=newStartListen();SayListenstListen=newSayListen();start.addActionListener(sListen);/为按钮start注册一个监听器say.addActionListener(stListen);/为按钮say注册一个监听器voidinit()setLayout(newFlowLayout();/设置窗体为流式布局setSize(400,400);setLocati

21、on(400,100);add(newJLabel(Port:);port=newJTextField(8888,25);add(port);start=newJButton(Start);add(start);content=newJTextArea(15,35);JScrollPanescroll=newJScrollPane(content);/设置转动条add(scroll);add(newJLabel(Say:);cin=newJTextField(26);add(cin);say=newJButton(Say);add(say);classStartListenimplements

22、ActionListenerpublicvoidactionPerformed(ActionEvente)start.setEnabled(false);tryServerSockets=newServerSocket(Integer.parseInt(port.getText();创立一个服务器套接字对象s,形参为从port文本框中读取的整型(端口号)socket=s.accept();PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream(),true);/创立

23、一个打印输出流对象,其形参为从套接字socket对象中获得的输出流out.println(Connected);content.append(Clientconnected+n);/对两个字符串进行拼接ServerThreadst=newServerThread();/创立一个ServerThread对象st,并调用其结构方法st.start();/启动一个线程,并调用run()方法catch(Exceptionex)classSayListenimplementsActionListenerStringstr;publicvoidactionPerformed(ActionEvente)tr

24、yPrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream(),true);/创立一个打印输出流,形参为从套接字socket中获得的输出流str=cin.getText();if(!str.isEmpty()out.println(newDate()+n+str);/打印输出日期和发送的信息(str)content.append(newDate()+nme:+str+n);out.flush();/清空缓存区cin.setText();catch(Exceptione

25、x)classServerThreadextendsThreadpublicvoidrun()tryBufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream();/创立一个缓冲输出流,其形参为从套接字socket中获得的输入流Stringstr;while(true)str=in.readLine();content.append(str+n);/按行读取catch(Exceptionex)客户端代码以下:importjava.awt.*;importjava.awt.event.*;import

26、java.util.*;importjava.io.*;.*;importjavax.swing.*;importjava.util.Calendar;publicclassClientpublicstaticvoidmain(Stringargs)MyFrameclient=newMyFrame();client.setVisible(true);client.setResizable(false);/设置此窗体能否可由用户调整大小client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置封闭操作classMyFrameextendsJ

27、FrameJTextFieldip;JTextFieldport;JTextFieldcin;JTextAreacontent;JButtonconnect;JButtonsay;Socketsocket;MyFrame()init();ConnectListencListener=newConnectListen();SayListensListener=newSayListen();connect.addActionListener(cListener);/注册监听器say.addActionListener(sListener);/注册监听器voidinit()setLayout(new

28、FlowLayout();setSize(440,500);setLocation(800,100);add(newJLabel(Server:ip);/设置窗体为流式布局ip=newJTextField(,8);add(ip);add(newJLabel(Server:port);port=newJTextField(8888,8);add(port);connect=newJButton(connect);add(connect);content=newJTextArea(16,35);JScrollPanescroll=newJScrollPane(content);add(scroll

29、);add(newLabel(Say:);cin=newJTextField(25);add(cin);say=newJButton(say);add(say);classConnectListenimplementsActionListenerintportNum;publicvoidactionPerformed(ActionEvente)/设置转动条connect.setEnabled(false);/按下connect按钮后,connect不可以再次点击trycontent.setText(Connecttoservern);/在文本区中显示ConnecttoservernportNu

30、m=Integer.parseInt(port.getText();/读取port文本框中的字符串,并将字符串转变为整型赋给portNumsocket=newSocket(ip.getText(),portNum);/定义对象socket,并指定主机号(host)和端口号portNumClientThreadct=newClientThread();/定义一个ClientThread类的对象ctct.start();/启动一个线程,并调用ClientThread类中的run()方法catch(Exceptionex)classSayListenimplementsActionListenerS

31、tringstr;publicvoidactionPerformed(ActionEvente)tryPrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream(),true);/从socket获得字节输出流,并将其最后转变为PrintWriterstr=cin.getText();/从文本框中获得字符串赋给strif(!str.isEmpty()out.println(newDate()+n+str);/打印日期和strcontent.append(newDate()+nme:+str+n);out.flush(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论