java实验指导.docx

上传人:b****3 文档编号:10515118 上传时间:2023-05-26 格式:DOCX 页数:42 大小:73.56KB
下载 相关 举报
java实验指导.docx_第1页
第1页 / 共42页
java实验指导.docx_第2页
第2页 / 共42页
java实验指导.docx_第3页
第3页 / 共42页
java实验指导.docx_第4页
第4页 / 共42页
java实验指导.docx_第5页
第5页 / 共42页
java实验指导.docx_第6页
第6页 / 共42页
java实验指导.docx_第7页
第7页 / 共42页
java实验指导.docx_第8页
第8页 / 共42页
java实验指导.docx_第9页
第9页 / 共42页
java实验指导.docx_第10页
第10页 / 共42页
java实验指导.docx_第11页
第11页 / 共42页
java实验指导.docx_第12页
第12页 / 共42页
java实验指导.docx_第13页
第13页 / 共42页
java实验指导.docx_第14页
第14页 / 共42页
java实验指导.docx_第15页
第15页 / 共42页
java实验指导.docx_第16页
第16页 / 共42页
java实验指导.docx_第17页
第17页 / 共42页
java实验指导.docx_第18页
第18页 / 共42页
java实验指导.docx_第19页
第19页 / 共42页
java实验指导.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java实验指导.docx

《java实验指导.docx》由会员分享,可在线阅读,更多相关《java实验指导.docx(42页珍藏版)》请在冰点文库上搜索。

java实验指导.docx

java实验指导

实验1 简单Java程序调试

1.1实验目的

(1)掌握Java应用程序和JavaApplet程序的调试步骤;

(2)了解Java程序的基本组成结构;

(3)了解字符方式和图形方式下数据的输出方法。

1.2知识要点

1.2.1Java编程运行环境的安装

(1)在根据自己的操作系统下载安装程序,按安装说明进行安装。

(2)设置环境变量。

以WinXP为例,在“我的电脑”上点右键,打开属性→高级→环境变量→系统变量,选中变量path进行编辑,在后面加入“;C:

\j2sdk1.4.2\bin”,注意:

这里的目录C:

\j2sdk1.4.2是你安装Java的目录。

(3)打开命令提示符窗口,输入javac命令按回车,如果出现命令的使用参数说明,则表示设置正确,如果出现非法命令的错误提示,则应该重新设置。

1.2.2Java程序调试步骤

Java程序的调试分编辑、编译、运行3个步骤,见图1-1。

(1)源程序的编辑

    可用记事本等文本编辑器对Java源程序进行输入和修改。

源程序文件的名字一定要与Java的主类名称保持一致。

所谓主类是指Java应用程序中含有main方法的类,JavaApplet程序中继承Applet的类。

(2)对源程序进行编译 

   命令格式:

javac文件名.java

编译的目的是将Java源程序转化为字节码文件,只有字节码文件才能被Java解释程序运行。

如果程序中有语法错误,则在命令行将显示出错误信息,错误信息中会指示出错的行,错误类型,用户要仔细查看错误,根据错误指示修改源程序。

每次改动程序后要重新编译,直到无错才执行程序。

(3)java应用程序的运行

命令格式:

java文件名

执行程序是执行字节码文件(.class类型的文件),但命令行在java命令后只要给出文件名即可。

运行程序后将产生输出结果,用户可检查分析结果是否正确,如果不正确,说明程序逻辑思路存在问题,检查改正逻辑错误后重新编译运行。

(4)applet程序的运行

在JavaApplet程序编译通过后,运行时必须嵌入在一个HTML文件中,因此,需要制作一个HTML文件(不妨假设名称为x.htm),文件内容中包括有Applet标记。

html文件与字节码文件通常放在同一目录下。

查看Applet运行结果有两种方法:

●        方法1:

用浏览器访问HTML文件

●        方法2:

用JDK中包含的APPLET测试程序(appletviewer)运行HTML文件。

例如:

appletviewer x.htm

1.2.3常见错误处理

错误1:

javac命令为非法

处理办法:

安装java后,path环境变量设置是否正确。

错误2:

执行javac X.java时显示找不到文件X.java文件。

处理办法:

进入到X.java所在的目录进行操作。

在当前目录下用dir显示,看是否有X.java文件,如果发现你保存的文件为X.java.txt,则说明,你保存文件时未选择所有文件类型,Windows自动给文件添加后缀。

解决办法可用如下命令将文件改名:

renameX.java.txt X.java

命令格式为:

rename旧文件名 新文件名

错误3:

文件编译通过,但运行时显示找不到类。

处理办法:

有可能文件名与类名不一致,而且类名未定义为public,例如:

以下程序文件名起名hello.java,编译通过,运行时输入javahello则出现“NoClassDefFoundError”的错误,运行输入javaHello可输出结果。

还有可能是系统的classpath环境未将当前目录作为类的搜索路径。

只要将代表当前目录的“.”放到classpath的设置值中即可。

DOS命令可用:

setclasspath=%classpath%;.

错误4:

常见程序代码问题

括号不匹配;变量未定义;访问未初始化的变量;main方法未设置为static等。

1.2.4几个常用DOS命令

(1)显示当前目录下有哪些文件

命令格式:

dir

(2)更改当前盘

命令格式:

盘符:

例如将当前盘改为D盘用如下命令。

C:

\>D:

   

   D:

\>

(3)进入当前目录下某个子目录

   命令格式:

cd子目录名

   例如,以下命令进入xyz子目录

    D:

\>CDxyz

    D:

\xyz>

(4)     设置path路径(假设JDK安装在d盘的jdk14文件夹下

path=%path%;d:

\jdk14\bin

1.2.5Java程序的特点

(1)任何程序代码均封装在类中。

(2) 主类的名称与源程序的文件名保持一致。

(3) 严格区分大小写。

(4) Java应用程序的特点

特点1:

main方法作为程序执行入口

特点2:

在DOS命令方式下执行

(5)JavaApplet程序的特点

特点1:

applet程序必须继承Applet类;

特点2:

Applet程序在HTML页面文件中运行。

1.2.6Java语言的特点

●        简单易学

●        面向对象

●        分布式计算

●        健壮性

●        安全性

●        跨平台和可移植性

●        解释执行

●        多线程

●        动态性

1.2.7Java程序数据的输出显示

(1)字符方式下数据的输出

   System.out.println(数据);

其中,数据可以是任何类型,利用“+”可以将字符串与任意类型数据进行拼接。

(2)图形方式下数据的绘制

   g.drawString(字符串,x,y);

功能:

在x,y位置绘制一个字符串。

   g.setColor(Colorc);

功能:

设置画笔的颜色。

   g.drawLine(x1,y1,x2,y2)

   功能:

从x1,y1到x2,y2绘制一条直线。

其中,g代表Graphics对象(画笔),x,y为输出坐标位置。

1.3样例程序

 

样例1:

编写应用程序输出如下三角形。

    *

   ***

  *****

 *******

【参考程序】

publicclassStar

{

   publicstaticvoidmain(Stringa[])

  {

     System.out.println("  *");

     System.out.println(" ***");

     System.out.println("*****");

     System.out.println("*******");

  }

}

程序运行结果如图1-2所示。

【编程技巧】

(1)main方法是应用程序执行入口;

(2)如何在命令控制台输出字符串。

样例2:

编写Applet程序绘制一个红色三角形,三角形中央绘制兰色文字“三角形”。

【参考程序】

(1)Applet程序

importjava.awt.*;

importjava.applet.Applet;

publicclasstriangleextendsApplet{

    publicvoidpaint(Graphicsg){

    g.setColor(Color.red); //设置画笔颜色为红色

       g.drawLine(80,20,20,100);

       g.drawLine(20,100,140,100);

       g.drawLine(140,100,80,20);

    g.setColor(Color.blue); //设置画笔颜色为兰色

       g.drawString("三角形",65,80);

  }

}

【编程技巧】

(1)如何引入某个包的类;

(2)编写Applet程序要继承Applet类;

(3)paint方法会自动执行,用画笔对象可绘制图形。

(2)HTML文件

用appletviewer查看程序运行结果如图1-3所示。

1.4上机练习

✧     基本题

1)编写一个程序输出如下图案

******          *************       **********

          **   **               **           **

          **    **              **           **

          **     **             **           **

          **     **             **           ********

          **     **      **    **           **

          **    **        **   **           **

          **   **          ** **            **

          *****              ****             **********

2)编制applet程序,绘制一个长120、宽80的红色矩形,并在矩形内部绘制一个兰色内切椭圆。

✧       提高题

1)编写一个应用程序绘制一个如下的操作菜单。

           *****************************

           |    1.增加1个学生        |

           |    2.显示所有学生        |

           |    3.退出程序            |

           |   请输入选择(1-3):

      |

           *****************************

2)创建一个applet程序,绘制两个同心圆,园心显示“同心”两个汉字。

实验2 Applet编程

2.1实验目的

(1)熟悉Applet的生命周期及其方法执行特点;

(2)掌握Applet图形绘制方法,如何控制图形输出时的坐标位置变化。

(3)掌握Applet参数传递;

(4)熟悉字体和颜色的控制方法;

(5)了解Applet图像显示和声音播放方法。

了解双缓冲区的应用,改进图像显示效果。

2.2知识要点

2.2.1Applet程序的执行特点

(1)在HTML页面中运行

(2) Applet作为一个对象,是由浏览器的JVM自动创建并自动按如下顺序执行其方法。

init()→start()→paint(g)

2.2.2Applet方法

    Applet的常用方法见表2-1,Applet在其生命周期的各阶段将自动调用相应方法,用户可根据需要在方法内安排特定的处理代码。

表2-1Applet的常用方法

方法名

描述

init()

安排初始化处理

start()

安排启动Applet时所要做的工作

paint(g)

在Applet的界面中绘制文字、图形等

update(g)

实现Applet画面的刷新,默认清除画面后调paint(g)

repaint()

重新绘制,它将调用update(g)

stop()

安排停止Applet前所要做的工作

destroy()

安排浏览器关闭,Applet退出前所要做的工作

2.2.3Applet的图形绘制

借助Applet的“画笔”(Graphics)对象可调用表2-2所示的方法实现各类图形的绘制。

在paint方法执行时,Applet将自动将自己的“画笔”通过参数传递给方法,在其它情形下,也可以通过由父类Component继承而来的getGraphics()方法得到“画笔”。

表2-2Graphics对象的常用图形绘制方法

方法名

描述

drawString(Strings,intx,inty);

绘制文字

drawLine(intx1,inty1,intx2,inty2)

绘制直线

drawRect(intx,inty,intwidth,intheight)

绘制矩形

drawOval(intx,inty,intwidth,intheight)

绘制椭圆

drawPolygon(int[]xPoints,int[]yPoints,intnPoints)

绘制多边形

drawArc(int x,int y,int width,int height,int startAngle,int arcAngle)

绘制圆弧

drawRoundRect(intx,inty,intwidth,intheight,intarcWidth,intarcHeight)

绘制园角矩形

fillOval(intx,inty,intwidth,intheight)

绘制填充椭圆

fillRect(intx,inty,intwidth,intheight)

绘制填充矩形

fillRoundRect(intx,inty,intwidth,intheight,intarcWidth,intarcHeight)

绘制填充园角矩形

fillArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle)

绘制填充扇形

2.2.4控制颜色和字体

 Color包含红、绿、蓝的组合,构造方法为:

publicColor(intRed,intGreen,intBlue)

每个参数的取值范围在0~255之间。

Color类提供了一些常用颜色常量,如:

Color.red代表红色。

定义字体对象用如下方法:

FontmyFont=newFont("宋体",Font.BOLD,12);

其中,第1个参数为字体名,第3个参数为字体大小。

第2个参数为代表风格的常量,Font类中定义了3个常量:

Font.PLAIN,Font.ITALIC,Font.BOLD分别表示普通、斜体和粗体。

借助表2-3所示的方法可设置画笔或部件使用的字体和颜色。

表2-3设置颜色和字体

 方法名

描述

voidsetColor(Colorc)

设置画笔颜色

ColorgetColor()

读取画笔颜色

voidsetFont(Fontc)

设置画笔或部件字体

FontgetFont()

读取当前使用字体

voidsetBackground(Colorc)

设置部件的背景颜色

voidsetForeground(Colorc)

设置部件的前景颜色

2.2.5Applet的参数传递

为了增强Applet程序的通用性,Applet允许从HTML标记中获取参数,程序运行时,不同参数值将导致不同的运行结果。

●        通过HTML标记中的标记给它所嵌入的Applet程序传递参数。

●        在Applet程序中利用getParamter("参数名")方法获取HTML传递的参数值,结果为字符串类型。

2.2.6Applet的多媒体支持

(1)绘制图像

第1步:

定义图像对象,指出其URL位置和名称。

publicImagegetImage(URL,String)

以下是两个特殊的URL:

getCodeBase():

返回Applet字节码文件的URL地址。

getDocumentBase():

返回html文件的URL地址。

第2步:

在画面中绘制图像。

publicvoiddrawImage(Image,x,y,imageObserver)

坐标规定图像的左上角位置,最后一个参数imageObserver表示观察者,通常是applet自己,所以通常写this。

为了改进画面的绘制效果,经常利用双缓冲区绘图。

开辟一个内存缓冲区,将图像先绘制在该区域,然后,再将缓冲区的图形绘制到Applet画面。

第1步:

建立图形缓冲区:

ImagecreateImage(width,height)

第2步:

使用Image对象的getGraphics()方法得到其Graphics对象;

第3步:

利用得到的Graphics对象在内存缓冲区绘图;

第4步:

利用Applet的画笔对象的drawImage方法将内存缓冲区对应的Image绘制到Applet面板上。

(2)播放声音

第1步:

使用Applet类的getAudioClip(URL,String)方法获取AudioClip类型的对象;

第2步:

通过AudioClip接口的方法控制播放:

play():

开始播放一个声音文件,本方法每次调用,都从头开始重新播放。

loop():

循环播放当前声音文件

stop():

停止播放当前声音文件

2.3样例程序

样例1:

绘制可变大小的杨辉三角形

         1

         1  1

         1  2  1

         1  3  3  1

   注:

行数有Applet参数决定,范围3~8的一个值。

【参考程序】

importjava.applet.*;

importjava.awt.*;

publicclassYanghuiextendsApplet{

  introws;

  publicstaticlongfac(intn){

     longres=1;

     for(intk=2;k<=n;k++)

        res=res*k;

     returnres;

  }

 

  publicstaticlongcom(intn,intm){

     returnfac(n)/(fac(n-m)*fac(m));

  }

  

  publicvoidinit(){

     rows=Integer.parseInt(getParameter("lines"));

  }

 

  publicvoidpaint(Graphicsg){

     intx,y=10;

     for(intn=0;n<=rows;n++){

        x=10;

        for(intm=0;m<=n;m++){

           g.drawString(""+com(n,m),x,y);

          x=x+40;

       }

        y=y+20;

     }

  }

}

HTML程序

 

 

【说明】本例的难点是如何控制绘制坐标的变化,同一行的输出只要改变x坐标,不同行的则改变y坐标。

【编程技巧】

(1)如何利用二重循环控制输出坐标的变化

(2)如何从Applet参数接收一个整数

样例2:

编制一个程序绘制如图2-1所示的棋盘。

【参考程序】

importjava.awt.*;

importjava.applet.*;

publicclassCheckerboardextendsApplet{

  publicvoidpaint(Graphicsg){

     introw;  //行号

     intcol;  //列号

     intx,y;  //方框左上角的坐标

     for(row=0; row<8; row++){

        for(col=0; col<8; col++){

           x=col*20;

           y=row*20;

           if((row%2)==(col%2))

                g.setColor(Color.red);

           else

                g.setColor(Color.black);

            g.fillRect(x,y,20,20);

         }

     }

  }

}

【编程技巧】

(1)如何利用二重循环控制方框的输出坐标的变化;

(2)如何确定要绘制的方框的颜色值。

样例3:

在Applet画面中用红色大号字绘制“欢迎光临”4字,让其自左向由移动,移动到右边,再重新至左边。

【参考程序】

importjava.awt.*;

importjava.applet.*;

publicclasswelcomeextendsApplet{

 intpos=10;  //左边从第10个象素位置开始绘制

 Imagegraph;

 intw;

 publicvoidpaint(Graphicsg){

    Stringstr="欢迎光临";

    Fontf=newFont("黑体",Font.BOLD,30);

    FontMetricsfm=getFontMetrics(f);

    w=fm.stringWidth(str);

    g.setFont(f);

g.setColor(Color.red);

    g.drawString(str,pos,40);

    try{

        Thread.sleep(500); //延迟

    }catch(InterruptedExceptione){}

    pos++;

    if (pos+w>getWidth()) //至右边界回到头部

        pos=10;

    repaint();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2