1、java实验指导书 学生用实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的 熟悉JAVA的运行环境及学习简单的编程。二、预习内容安装工具软件的基本方法。三、实验设备与环境 装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容 安装JCreator及JAVA的核心编译程序J2SDK。1、打开JCreator的
2、安装盘安装JCreator。2、在相同目录下安装J2SDK。3、打开JCreator软件对J2SDK文件进行配置。4、编写一应用程序,在屏幕上显示“HELLO WORLD”。 Pulic class Hello public static void main(String args) System.out.println(“HELLO WORLD”);5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”。实验结果五、注意事项 认真填写实验报告遵守实验室各项制度,服从实验指导教师的安排按规定的时间完成实验六、说明 本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、
3、实验目的 熟悉Java的基本语法编写应用程序接收命令行参数编写应用程序接收用户从键盘的输入掌握字符串与数组的基本方法二、预习内容 java编程的基本结构 三、实验设备与环境 装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容 编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。(1)编辑Average.java,设保存在D:myjava目录下。 class Average public static void main(String args ) double n,sun=0;
4、 for (int l=0;ljava Average.java(3)执行。键入如下命令。注意,命令行参数之间用空格分隔。 D:myjavajava Average.java“12.34”“34.45”“21212121”注意:1)参数的个数可以利用args.length来取得。2)参数“12.34”“34.45”“21212121”分别赋给了main方法的参数arges0、arges1 和arges2。3)由于arges0、arges1和arges2是String类型的,所以要利用Double.valueOf(String s)方法将String类型转化成Double类型,再用double
5、Value()方法求出double类型的值。编写一个应用程序,接受用户从键盘输入的摄氏温度,然后将其转化成等效的华氏度温度。方法一:利用System .in.read()方法可以接受从键盘输入的unicode码,编写一个循环取键值,循环出口为当输入回车时,即判断键值是否为13,若是,则退出循环。(1)编辑Accept.java,设保存在D:myjava目录下。import java.io.*;import java.io.*;class Accpet public static void main(String args) int c=0; String s=“”; System.out.pr
6、intln(“输入摄氏度:(0数值100)”); /System.in.read()语句需要加try/cacth()捕获异常 tyr while (c!=13) /当输入的不是回车 c=Sytem .in.read(); s=s+(char)c; /将int型转化成char型,再连接成字符串 catch (Exception e)int celsius=Intgeer.parseInt(s.trim();double fahre=1.8*celsius+32;System.out.println(“转化成华氏度为:”+fahre);注意:1)in是System类的一个属性,System.in的
7、返回类型是InputStream类型。输入字节流的父类,InputStream类中的read()方法可以读取一个用户从键盘上输入的键值。System.im.read()的返回值是整型,因此需要先转化成字符型后再连接成字符串。2) System.im.read()需要用try/catch机制来捕获异常。3)将字符串转化成响应的整型数值后再利用公式计算出华氏温度。方法二:由于InputStream类中的read()方法只能读取一个键值,所以需要利用循环才能读出用户从键盘输入的一串字符,有没有读取一行字符的命令呢?我们可以利用Java中类的嵌套来实现。由于BuffereReaser类有读取一行字符串
8、的方法,所以可以这样去定义对象:BuffereReaser br=new BuffereReaser(new InputStreamReader(System.in);(1)编辑Accpe1.java,设保存在D:myjava目录下。Class Accpt1 publib static void main(String args ) String s=“”; System.out.println(“输入摄氏度:(0数值100)”); BuffereReaser br=new BuffereReaser(new InputStreamReader(System.in);try s=br.read
9、Line();cath(Exception e)int cel=Integer.parseInt(s.trim();double f=cel*1.8+32;System.out.println(s+“摄氏度转化成华氏度为:”+f);编写应用程序,按升序顺序输出一维数组中的元素。排序的方法有很多,常用的有选择发和冒泡法,在此使用选择法。(1)编辑Sort.java,设保存在D:myjava目录下。class Sort public static void main(String args )。五、注意事项认真填写实验报告遵守实验室各项制度,服从实验指导教师的安排按规定的时间完成实验六、说明 建议
10、学时数2学时实验三、面向对象编程实验一、实验目的 掌握接口的编写及使用理解继承、多态掌握包的编写以及如何使用包中的类二、预习内容 java的基本语法知识 三、实验设备与环境 装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容 接口的编写(1)编辑Interfaceclass.java,设保存在D:myjava目录下。interface Interfaceclass int i=4; int k=5; void func1(); int func2(int x);(2)编辑UseInterface.java,设保存在D:myjava目录下。 class UseInterfac
11、e implements Interfaceclass int j;public void func1() /在使用接口的类中一定要实现接口中的所有抽象方法 System.out.println(“func1=”+1); public int func2(int i) System.out.println(“func2=”+1);ieturn i; public static void main(String srgs ) /Interfaceclass.class x=new Interfaceclass.class();不能对接口进行实例化UseInterface x=new UseInt
12、erface();x.func1();x.func2(k);多态在工资系统中的应用设计一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。 Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、 CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类
13、计算,所有雇员类都是从超类Earnings()派出生的。所有在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引导 并调用earnings()方法。在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。程序依次使用数组的每个元素(Employee引用)调用每个对象的employee()方法。 包的建立与使用(1)编辑Calculate.java,设保存在D:myjava目录下。package mypackage;public class Calcu
14、late private int a; public Calculate(int a) this.a=a;System.out.printl(“from constrartion”+this.a); public double volume(double height,double width,doule depth) return height*width*depth; int add(int x, int y) return x+y; protected void a() System .out.println(“from constration”+a); 编译,查看D:myjava目录下
15、是否生成了myoackage文件夹,在该文件夹中是否有Calculate.class文件。 (2)编辑Interfaceclass.java,设保存在D:myjava目录下。 import mypackage.Calculate;class PackageDemo public static void main(string ags ) Calculate c=new Calculate(10); double s=c.volume(5,6,7); System.out.println(s); /int b=c.add(5,6); /c.a(); 五、注意事项认真填写实验报告遵守实验室各项制度
16、,服从实验指导教师的安排按规定的时间完成实验实验四、异常处理实验一、实验目的 异常的生产及捕获自定义异常及其使用二、预习内容 面向对象的基本知识三、实验设备与环境 装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容 异常的捕获计算两数相除并输出结果。使用两个catch子句,分别捕捉除数为0的异常和参数输入有误异常。 编译并运行,当输入除数为0时,将有异常出现,当输入的不是整数时,如将30输成了3o,出现的是另一种异常。定义异常编写程序包含自定义异常,当输入数值为13和4时抛出该异常。编辑Ex2.java,设保存在D:myjava目录下。 class Ex2 extends
17、Exception Ex2(String msg) super(msg); class MyEx private int x; void setX(int x) this.x=x; void f1() throws Ex2 if(x=13) throw new Ex2(“I dont like 13!”); else if(x=4) throw new Ex2(“I dont like 4!”); else system .out.println(100/x);public static void main(Sstring args ) MyEx a=new MyEx(); try a.ste
18、X(5); /a.setX(13);/a.setX(4);/a.setX(0);a.f1(); catch(Ex e) Sytem .out.println(“get message:”+e.getMessage(); 编译并运行,分别取消注释上面程序中被注释的语句。当释放a.setX(13)语句后,查看运行结果,当释放a.setX(4)语句后,查看运行结果。五、注意事项认真填写实验报告遵守实验室各项制度,服从实验指导教师的安排按规定的时间完成实验六、说明 建议学时数2学时实验五、小应用程序实验一、实验目的 掌握小应用程序的结构及生命周期掌握带参数小应用程序的编写二、预习内容 网页制作的相关知
19、识三、实验设备与环境 装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容 小应用程序生命周期小应用程序有init()、start()、stop()和detroy()方法,当小应用程序初次加载时,先执行init(),再执行stop()方法。当小应用程序的窗口从后台恢复到前台时,如当小应用程序的窗口被最小化时,会执行stop()方法,窗口还原时会执行start()方法,这时不执行init()和detroy()方法。当小应用程序被关闭时,再执行detroy()方法。编辑AppLife.java,设保存在D:myjava目录下。Import java .applet .*;impo
20、rt java .awt .*;Public class AppLife extends Applet static int a,b,c,d; int xl=150,yl=50,x2=300,y2=50; putlic void paint (Graphics g) g.drawLine(x1,y1,x1,y2); g.drawLine(x1,y1,x1,y1+a);g.drawString (“init”,x1,y1);g.drawLine(x1+50,y1,x1+50,y1+b);g.drawString(“start”,x1+50,y1);g.drawLine(x1+100,y1,x1+
21、100,y1+c);g.drawString(“stop”,x1+100,y1);g.drawLine(x1+150,y1,x1+150,y1+d);g.drawString(“destory”,x2,y2); public void init() a+=50; repaint(); public void start() b+=50; repaint(); public viod stop() c+=50; repaint(); public viod destroy() d+=50; repaint(); 注意问题:(1)编译AppLife.java。(2)编辑AppLife.htm,要求
22、存放在与AppLife.class相同的目录下。(3)运行AppLife.htm。带参数的小应用程序编写一个小应用程序,由htm文件向其传递参数。编写App.java,设保存在D:myjava目录下。import java.applet.*;import java.awt.*;public class App extends Applet String name; public void init() name=getParameter(“name”); public void paint(Graphics g) g.drawString(“Welcome”+name,120,50); 执行步
23、骤:(1)编译App.java。(2)编辑App.htm,要求与App.class在同一目录下。执行App.htm。 五、注意事项 认真填写实验报告遵守实验室各项制度,服从实验指导教师的安排按规定的时间完成实验六、说明 建议学时数2学时实验五、小应用程序实验实验六、图形图像实验一、实验目的 了解Java.awt包中提供的Font类、Color类、Graphics类和Image类掌握设置控制GUI组件字体和颜色的一般方法掌握使用Graphics绘制线条、矩形、圆角矩形、椭圆、弧等基本图形掌握使用Graphics绘制图象二、预习内容 绘制图形的基本方法三、实验设备与环境 装有JAVA语言工具软件
24、(JCreator )的微机若干四、实验内容 绘制图形编辑Gra.java,保存在D:myjava目录下。import java.applet.*;import class paint(Graphicds g) Font f1=new Font(“Helvetica”,Font.PLAIN,28); public void paint(Graphicds g) g.setFont(f1); g.setCorol(Corcol,blue); /在(120,50)处输出字符串“我是美丽的大气球!” g.setCorol(Corol.green); g.drawOval(100,20,200,100
25、); g.setCorol(Corol.black);g.fillOval(180,60,10,10);g.fillOval(180,60,10,10);g.setCorol(Cotol.red);g.drawArc(130,50,50,180,180);g.setColor(Color.yellow);g.drawLine(150,120,150,250); (1)编译Gra.java。(2)编辑Gra.java,要求与Gra.class在同一目录下。(3)运行Gra.htm。五、注意事项认真填写实验报告遵守实验室各项制度,服从实验指导教师的安排按规定的时间完成实验六、说明 建议学时数2学时
26、实验七、GUI(图形用户接口)实验一、实验目的 掌握用MouseListener和MouseMotionListener接口处处理鼠标事件Mouse Event的方法。掌握制作菜单及处理菜单事件的方法掌握创建对话框及定位、显示、激活和关闭对话框的方法二、预习内容 图形用户接口编程所需的基本类及使用方法三、实验设备与环境 装有JAVA语言工具软件 (JCreator )的微机若干四、实验内容 制作一个简单的画板编辑Mou.java,设保存在D:myjava目录下。import java.applet.*;import java.awt.*;import java.awt.event.*;publ
27、ic class Mou extends Applet implements MouseMotionListener int x= -1,y= -1; public void init() setBackground(Color.cyan); addMouseMotionListener(this); public void paint(Graphics g) if(x!= -1&y!= -1) g.setColor(Color.red); g.drawLine(x,y,x,y); public void mouseDragged(MouseEvent e) x=(int)e.getX();
28、y=(int)e.gety(); public void mouseMoved(MouseEvent e) /由于使用的是Listener,需要将其他不重载的方/法,列举在这里 public void update(Graphics g) paint(g); 编译并运行查看结果.菜单的编写编辑TestMenu.java,设保存在D:myjava目录下。import java.applet.*;import java.awt.*;import java.awt.event.*;public class TestMenu /定义主类 public static void main(String a
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1