《 Java 语言》实验

班级:          学号:         姓名 :     

实验

设计内容

演示作品

 

申请网站空间

域名 http://wltd828.126.com/

网址 http://asp2.6to23.com/fsxss/ 

 

制作个人主页

显示当前日期时间

站点访问的计数器

个人主页

1 在 HTML 中嵌入
JavaScript
  (P5)

字符串对象

2 制作表单(P34) bd bdcx bdcx1
3 if 嵌套实现成绩考评(P63) 成绩考评 年龄段判断
4 循环嵌套实现显示九九表(P72) 九九乘法表九九表
5 日期时间(P106)

北京时间bjsj bjsj_e

滚动广告 dyxm

万年日历wyrl

6 浏览器对象 开关窗口 kgck 设置背景颜色 zbjs
 

Java 特效

无限星空:wxxk.class、xgss.htm(gif)

烟花怒放:yhnf.class

Java Applet: 雪花飘飘 xhpp_Apl 圆窗方点

Java Script:

雪花飘飘  xhpl xhpp1 xhpp2 xhpp_scr xhpp-dm

梅花升空 怎么办 夜景真美 天女散花 花花飘飘

相片飘飘 飞向何方 群鸽上天 飞鸽下湖

网络飘飘 五星飘飘 qqpp mypp

  文字特效 旋转文字 波动文字 七彩文字

8

跟随鼠标特效

变色字跟鼠标 文字跟随鼠标 wzgsb hygl

时钟跟随鼠标 szgsb

9 针式时钟 日期时钟 rqsz

时钟 sz sz_roll sz1

实验1 申请个人网站空间

所用软件:IE 浏览器、CuteFTP 软件

实验目的:到中国学生网申请  20MB、50MB 空间或 100M ASP 空间。

实验过程:

1.登录“中国学生网”购买交费的 网站空间

 建立一个“互联网上的家园,展现自我的空间,勾画心中的蓝图,描绘美好的人生”。

  发展方向提供网络虚拟空间,如朋友留言、知已聊天、学术论坛、……。

  ASP 空间动态网页服务,支持ASP网页、ASP论坛、ASP留言版、Access数据库。

  50MB ASP 空间5个人共用每人10MB空间,每月交费4元,每人0.8元。

 2.共用的网站空间中每人一个文件夹,文件夹名用姓名的拼音首字母。

  每个人应有自己的主页 index.htm。

3.填写用户名和口令,要求用笔记录,用户名不能忘记。

  用户名:如,wltd828(网络天地828),只能用拼音或英文字母,不能用汉字。

  口令:******

  电子邮件:如,fsxss@tom.com,要求真实邮箱,

  用于接收学生网发送的有关个人网站空间开通的邮件。

4.交费开通个人网站空间后,下载文件上传下载软件 CutFTP32.rar

 打开 CutFTP32 软件,建立新站点,填写资料。

  主机地址,如 asp2.6to23.com, vip.6to23.com, my.6to23.com

  用户名:如 wltd828

  口令:如,******

5.选择本地磁盘站点上的文件 如,index.htm,点击上传按钮传送到远程个人空间。

6.在 IE 浏览器地址栏输入网址,如 http://asp2.6to23.com/wltd828

  打开个人主页。

心得体会:在实验中学习和掌握到什么技巧?有什么提高?有什么想法和建议?

 

实验2  设计个人主页和链接网络作业本

实验内容:

建立站点主页

1.在资源管理器中建立文件夹,如 E:\本地站点。

2.打开 FrontPage,打开站点,如 E:\本地站点。

3.下载文件到 E:\本地站点。不要采取直接编辑、文件另存为的方法。

  要求采取复制粘贴的方法,可以保持链接老师网站的参考内容。

4.在 FrontPage 中打开主页 index.htm。

  链接实验要求时采取浏览方法找到实验要求文件。

5.实验要求页面:填写班级、学号、姓名。链连实验结果。

6.要求个人主页链接:网络天地|网络作业|期中机试|期末机试

*网络作业本

   教师负责、统一设计、规定格式、统一封面。

   学生设计网站标志,修改网络作业本封面中的班级、学号、姓名和个人网站域名,

   其他内容不用修改。把各章作业链接到网络作业本上。

 7.主页显示当前日期时间和记录站点访问的计数器

 申请计数器:超级搜索 Super Search http://www.2881.com/count/

 <Script Src=http://www.2881.com/count/count3/asp?id=5103&sx=1&ys=9></Script>

  sx=1 每刷新一次页面计数一次。

 sx=2 同一 IP 在1小时内只计数一次。

  日期时间:2004年4月4日14:44:44   计数器:1

  功能实现要点:下载 个人主页 浏览 index.asp

  数据库 wssdk97.rar wssdk2000.rar

 1)显示当前日期时间和记录站点访问的计数器,主页要存储为 index.asp。

 2)用ASP 组件显示当前日期时间。

 3)用 ASP 和 SQL 语言查询访问数据库 wssdk.mdb。

   创建数据库连接、记录集对象;打开记录表;

   输出计数表中计数字段的值;关闭数据库连接、关闭记录集对象。

<%

'定义日期时间

today=formatdatetime(now(),1)&formatdatetime(now(),3)

'1.创建连接对象 Connection

set cn=Server.CreateObject("ADODB.Connection")

'虚拟主机OLEDB:注意中国学生网要求的数据库引擎(驱动 OLEDB 连接),

'修改“/会员名/路径/数据库名”,要与实际对应。

cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

DATA SOURCE="&Server.MapPath ("/fsxss/mdb/wssdk.mdb")

'a.自管主机软件要求 Windows Server 2000 服务版,IIS 管理发布 Web 站点,

   支持 ASP 脚本运行。

'b.自管主机OLEDB:提供程序MICROSOFT.JET.OLEDB.4.0,

   数据源路径要对应本机硬盘物理路径。

'cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

DATA SOURCE="&Server.MapPath ("/mdb/wssdk.mdb")

'cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

DATA SOURCE=E:/E 网站编辑/mdb/wssdk.mdb"

'c.自管主机ODBC:无DNS、Access 数据库驱动程序,

   数据库查询 DBQ 路径要对应本机硬盘物理路径。

'cn.open "Driver={Microsoft Access Driver(*.mdb)};

DBQ=E:/网站编辑/mdb/wssdk.mdb"

'd.自管主机ODBC:无DNS、SQL 数据库驱动程序。

'cn.Open"Driver={SQL Server};Database=wssdk;

Server=Local Server;UID=sa;PWD="

'数据库驱动为 SQL Server;数据库名,如 wssdk;

'服务器名,如 Local Server,要与实际对应;

'用户身份可用系统管理员 sa;密码为空。

 

'2.创建记录集对象 Recordset

set rs=Server.CreateObject("ADODB.Recordset")

 

'3.打开计数表,向计数字段赋值,用Update写入

rs.open"select 计数 from 计数表",cn,adOpenDynamic,3

rs("计数")=rs("计数")+1

rs.Update

rs.close

rs.open"select 计数 from 计数表",cn,3

%>

<p>

日期时间:<%response.write today %>

计数器:<% =rs("计数")%>

  

实验2a 实现用户注册和处理注册

   浏览网上书店  下载网上书店

  用户注册功能实现要点:yfzc.asp clzc.asp wssd_t.asp

1.使用用户注册的表单提交的数据对变量赋值。如,用户姓名、购书密码、确认密码、

联系地址、联系电话、邮政编码、电子邮件。

2.如果用户输入完整的数据、两次输入的密码相同,并使用电子邮件确认用户未注册时,然后使用 SQL语句对新用户注册。

3.用“电子邮件”字段值=dzyj 变量值的条件,检索该用户的“用户号”。

4.用 ASP 和 SQL 语言查询访问数据库 wssdk.mdb。

  创建数据库连接、记录集对象。(P118)

5.打开用户资料表;用AddNew向数据库请求添加新记录,向部分字段赋值,用 Update 更新数据。(P107)

6.检索出新注册用户号,输出用户相应的信息。

7.给用户提示操作错误的原因:用某邮箱的用户已经存在、两次输入的密码不一致、用户输入的信息不完整。

8.关闭数据库连接、关闭记录集对象。

<%

'1.使用客户机表单提交的数据(如,用户姓名 yfxm)对服务器内存变量 yfxm 赋值。

'用户姓名、购书密码、确认密码、联系地址、联系电话、邮政编码、电子邮件

dim yfxm,gsmm,qrmm,lxdz,lxdh,yzbm,dzyj

yfxm=request.form("yfxm")

gsmm=request.form("gsmm")

qrmm=request.form("qrmm")

lxdz=request.form("lxdz")

lxdh=request.form("lxdh")

yzbm=request.form("yzbm")

dzyj=request.form("dzyj")

'2.用户输入完整的数据、两次输入的密码相同后,进行后面的操作

if yfxm<>""and gsmm<>""and lxdz<>""and lxdh<>""and yzbm<>""and dzyj<>"" then

if gsmm=qrmm then

'3.使用电子邮件确认用户未注册时,然后使用 SQL 语句对新用户注册。

'用“电子邮件”字段值=dzyj 变量值的条件,检索该用户的“用户号”。

rs.open"select 用户号 from 用户资料表 where 电子邮件='"&dzyj&"'",cn,3

if rs.eof then

'找不到使用"&dzyj&"注册的用户

rs.close

'4.打开用户资料表,用AddNew向数据库请求添加新记录,向部分字段赋值,用Update写入

rs.open "用户资料表",cn,adOpenDynamic,3

rs.AddNew

rs("用户姓名")=yfxm

rs("购书密码")=gsmm

rs("联系地址")=lxdz

rs("联系电话")=lxdh

rs("邮政编码")=yzbm

rs("电子邮件")=dzyj

rs.Update

rs.close

'检索出新注册用户号

rs.open"select 用户号 from 用户资料表 where 用户姓名='"&yfxm&"'"

'5.输出用户相应的信息

%>

  

实验2b 实现查看用户资料和登录书店

   浏览网上书店  下载网上书店

  查看用户资料功能实现要点:yfzl.asp yfzl.zip

1.创建连接对象 Connection,创建记录集对象 Recordset

2.打开用户资料表,循环输出记录。

  用户号、用户姓名、购书密码、联系地址、联系电话、邮政编码、电子邮件。

3.关闭 Recordset 对象,关闭连接,并释放 Recordset 对象。

  登录书店功能实现要点:yfdl.htm dlsd.rar

  输入用户姓名和购书密码正确后可以登录书店。

<%

'1.使用客户机表单提交的数据(如,用户姓名 yfxm)对服务器内存变量 yfxm 赋值。

'定义服务器内存变量:用户姓名、购书密码

dim yfxm,gsmm

yfxm=request.form("yfxm")

gsmm=request.form("gsmm")

'2.用户输入完整的数据、用户存在、密码正确,则进行后面的操作

if yfxm<>""and gsmm<>"" then

'3.验证登录的用户姓名、购书密码,反馈欢迎词。

'用“字段值=变量值”的条件确认用户,用户姓名='"&yfxm&"' and 购书密码='"&gsmm&"'。

rs.open"select 用户号 from 用户资料表 where 用户姓名='"&yfxm&"' and 购书密码='"&gsmm&"'",cn

if not rs.eof then

'找到使用"&yfxm&"的用户

response.write"<center>欢迎光临网络天地书店!</center>"

%>

 

实验3  构造 Java 应用程序和小程序框架

  在 Visual J++ 开发环境中构造 Java Application 应用程序框架 ckkj

  Applet 小程序框架 apkj,要求图中有图纸边框、班级、学号、姓名、无其它图形。

 1.VJ++6.0 创建 Applications 应用程序的过程

   Applications 应用程序:编译生成 .exe 文件,运行时有独立的窗口。

   例如:窗口框架 F:\JAVA\ckkj.java

 1.1 创建窗口框架(ckkj)项目

    File--New project--Applications 文件夹的 Windows Application—

项目名ckkj,路径F:\Java—打开。

 1.2 编辑 ckkj.java 代码

  Project Explorer 窗口:Form1.java 改名 ckkj.java—查看—代码—

  打开ckkj.java—输入代码。

  编辑源程序(演示 Frame1 模板未关闭时,有部分代码不能删除)

 1.3 编译 ckkj.java 代码生成类文件(.class)

  Build菜单—Build—指定主类 'Frame1' 未发现。

 1.4 调试生成可执行文件

  debug 菜单—Start winthout debugging --launch 启动卡—

  选取自定义选项 costom——生成 .exe 文件。

2.VJ++6.0 创建 Applet 小程序的过程

  Applet 小程序:编译生成 .class 文件,插入网页中,

  浏览时包含在浏览器窗口中。

  例如:正弦波 F:\JAVA\apkj.java

 2.1 创建小程序框架(apkj)项目

    File--New project--Web Page 文件夹的 Applet on HTML—

   项目名apkj,路径F:\Java—打开。

 2.2 编辑 apkj.java 代码

   Project Explorer 窗口:Applet1.java 改 apkj.java—

   打开apkj.java—编辑源程序。

 2.3 编译 apkj.java 代码生成类文件(.class)

   Build菜单—Build—编译生成类文件(.class)。

 2.4 调试把类文件插入网页

   调试Debug—Start—浏览器窗口Page1.htm—查看—源文件—

   Applet1.class 改 apkj.class。

 3.VJ++6.0编辑文本字号选择

   tools--options--text editor--font and colors--size 16磅。

 

实验4 设计动态演示正弦波的 Java 小程序

  设计实现绘图功能的 Applet 小程序 zxb_s ,动态演示正弦波。

  要求图中有班级、学号、姓名。

  

实验5 设计动态演示几种正弦波的 Java 应用程序

 设计实现绘图功能的 Application 应用程序,动态演示几种正弦波

jzxb jzxb_dm zfzxb

 要求正弦波为1至10个整数波形,图中有班级、学号、姓名。考虑因素和参考值如下:

 1.水平正弦波

   正弦波公式:y=y0+Math.sin(x/n)*h

   正弦波位置:y0=100---440

   正弦波范围:x=0---628

   正弦波周波:n=10,20,33,40,50,67,100

   正弦波波峰:h=10---100

 2.垂直正弦波

   正弦波公式:x=x0+Math.sin(y/n)*h

   正弦波位置:x0=100---700

   正弦波范围:y=0---314

   正弦波周波:n=10,20,33,40,50

   正弦波波峰:h=10---100

 3.水平垂直1,2,3,4,5 条正弦波

 4.增幅正弦波、减幅正弦波:y 轴方向正弦波幅值随 x 轴值的增加而增加或减少。

  h=x/n, n=2---12

 5.正弦波 x 值随 y 值增加而增加或减少。

  

实验6  Java 特效

 无限星空:wxxk.class、xgss.htm(gif)

 数学理论基础:概率论随机函数、离散函数。

 设计考虑因素:宽度、高度、深度、类型。

 宽度、高度:控制水平左右界、垂直上下界,

 类型控制星星亮度:灰、浅灰、白色。

 

 烟花怒放:yhnf.class

 Java Applet: 雪花飘飘 xhpp_Apl xhpp 圆窗方点

 Java Script: xhpp_scr xhpp-dm 怎么办 夜景真美

  飞向何方 网络飘飘 五星飘飘 qqpp mypp

1.雪花控制

 雪花形状:圆形、矩形、五星、梅花、树叶、相片、文字。

 雪花大小:3—15

 雪花速度:ThreadSleep 10—100(线程休眠时间)

 雪花数量:10—100

 雪花颜色:红、绿、黄、蓝、白色

 背景颜色:黑色

 屏幕形状:圆形、矩形。

2.雪花飘飘、圆窗方点要设置的部分代码

//屏幕尺寸
offScreen = createImage(dim.width, dim.height);

//雪花数量:10—100个
snows = getParameter("snows", 100, 500, 0);
//雪花尺寸:3—15
snowSize = getParameter("snowSize", 8, 50, 13);
//雪花速度:10—100
threadSleep = getParameter("threadsleep", 50, 1000, 10);

//雪花坐标
snowX = new int[snows];
snowY = new int[snows];

//画圆形填充雪花 fillOval,矩形填充方块 fillRect
g.fillRect(snowX[i], snowY[i], snowSize, snowSize);

//填充矩形屏幕 fillRect,填充圆形屏幕 fillOval
offScreen.getGraphics().fillOval(0,0,dim.width,dim.height);

 

实验  设计 Java 菜单应用程序

 设计 Java 菜单应用程序 ,自定义菜单,如,文件、图形、图像、帮助。jvcd.exe

 要求菜单窗口中有班级、学号、姓名。设计并列出下列功能实现的有关的语句。 

 1.文件退出子菜单加入到窗口框架。

 2.显示菜单程序。

 3.点击文件退出子菜单,实现退出。

  

实验8 设计动态演示 Java 语言图形程序的图形

 设计动态演示 Java 语言图形程序设计的图形

  jtcs.exe  jtcs1.exe bxxxqx.exe 双0图形 s0tx.htm 双8图形 睁大眼睛

 要求图中有班级、学号、姓名。设计并列出几种功能实现的有关的语句。

 根据参考程序制作,不修改图形,或者班内制作的图形相同的,评分不及格;

 根据参考程序制作,小修改图形,评分60分;

 程序设计有新的创意,如 lmx mxq znq zyd 图形动态演示效果良好,可以评分100分。

 1.绘制心形曲线 cos(n*i):

  x=cos(n*i)*cos(i)*r,

 y=cos(n*i)*sin(i)*r,

 n=(1,2.3),(4,5,6),(7,8,9)

  n=(3,2,5),(7,4,9),(11,6,13); 花叶逐一增加。

  n=(3,4,5),(6,7,8),(9,10,11);方便循环控制。

 2.绘制变形曲线 sin(i),sin(n*i):

  x=sin(i)*cos(i)*r,

 y=sin(n*i)*sin(i)*r,

 n=3,4,5,6,7,8,9,10,11 图形复杂

 

 3.心形曲线排列组合 xxbx_plzh sin_cos

编码 心形xx(ni)(i) 图形效果   编码 心形xx(ni)(i) 图形效果
xssss x=sin(n*i)*sin(i)*r
y=sin(n*i)*sin(i)*r
  xcsss x=cos(n*i)*sin(i)*r
y=sin(n*i)*sin(i)*r
苹果
xsssc x=sin(n*i)*sin(i)*r
y=sin(n*i)*cos(i)*r
  xcssc x=cos(n*i)*sin(i)*r
y=sin(n*i)*cos(i)*r
菱形包络
xsscs x=sin(n*i)*cos(i)*r
y=sin(n*i)*sin(i)*r
  xcscs x=cos(n*i)*cos(i)*r
y=sin(n*i)*sin(i)*r
 
xsscc x=sin(n*i)*cos(i)*r
y=sin(n*i)*cos(i)*r
  xcscc x=cos(n*i)*cos(i)*r
y=sin(n*i)*cos(i)*r
 
xscss x=sin(n*i)*sin(i)*r
y=cos(n*i)*sin(i)*r
  xccss x=cos(n*i)*sin(i)*r
y=cos(n*i)*sin(i)*r
 
xscsc x=sin(n*i)*sin(i)*r
y=cos(n*i)*cos(i)*r
  xccsc x=cos(n*i)*sin(i)*r
y=cos(n*i)*cos(i)*r
 
xsccs x=sin(n*i)*cos(i)*r
y=cos(n*i)*sin(i)*r
  xcccs x=cos(n*i)*cos(i)*r
y=cos(n*i)*sin(i)*r
花叶
xsccc x=sin(n*i)*cos(i)*r
y=cos(n*i)*cos(i)*r
  xcccc x=cos(n*i)*cos(i)*r
y=cos(n*i)*cos(i)*r
 

  

4.变形曲线排列组合

编码 变形bx(i,ni)(i) 图形效果   编码 变形bx(i,ni)(i) 图形效果
bssss x=sin(i)*sin(i)*r
y=sin(n*i)*sin(i)*r
  bcsss x=cos(i)*sin(i)*r
y=sin(n*i)*sin(i)*r
 
bsssc x=sin(i)*sin(i)*r
y=sin(n*i)*cos(i)*r
  bcssc x=cos(i)*sin(i)*r
y=sin(n*i)*cos(i)*r
 
bsscs x=sin(i)*cos(i)*r
y=sin(n*i)*sin(i)*r
复杂图形 bcscs x=cos(i)*cos(i)*r
y=sin(n*i)*sin(i)*r
 
bsscc x=sin(i)*cos(i)*r
y=sin(n*i)*cos(i)*r
  bcscc x=cos(i)*cos(i)*r
y=sin(n*i)*cos(i)*r
 
bscss x=sin(i)*sin(i)*r
y=cos(n*i)*sin(i)*r
  bccss x=cos(i)*sin(i)*r
y=cos(n*i)*sin(i)*r
 
bscsc x=sin(i)*sin(i)*r
y=cos(n*i)*cos(i)*r
  bccsc x=cos(i)*sin(i)*r
y=cos(n*i)*cos(i)*r
 
bsccs x=sin(i)*cos(i)*r
y=cos(n*i)*sin(i)*r
  bcccs x=cos(i)*cos(i)*r
y=cos(n*i)*sin(i)*r
 
bsccc x=sin(i)*cos(i)*r
y=cos(n*i)*cos(i)*r
  xcccc x=cos(i)*cos(i)*r
y=cos(n*i)*cos(i)*r
 

  

5.变形曲线排列组合2

编码 变形bx(ni,i)(i) 图形效果   编码 变形bx(ni,i)(i) 图形效果
bssss1 x=sin(n*i)*sin(i)*r
y=sin(i)*sin(i)*r
  bcsss1 x=cos(n*i)*sin(i)*r
y=sin(i)*sin(i)*r
 
bsssc1 x=sin(n*i)*sin(i)*r
y=sin(i)*cos(i)*r
  bcssc1 x=cos(n*i)*sin(i)*r
y=sin(i)*cos(i)*r
 
bsscs1 x=sin(n*i)*cos(i)*r
y=sin(i)*sin(i)*r
简单图形 bcscs1 x=cos(n*i)*cos(i)*r
y=sin(i)*sin(i)*r
 
bsscc1 x=sin(n*i)*cos(i)*r
y=sin(i)*cos(i)*r
  bcscc1 x=cos(n*i)*cos(i)*r
y=sin(i)*cos(i)*r
 
bscss1 x=sin(i)*sin(i)*r
y=cos(n*i)*sin(i)*r
  bccss1 x=cos(n*i)*sin(i)*r
y=cos(i)*sin(i)*r
 
bscsc1 x=sin(i)*sin(i)*r
y=cos(n*i)*cos(i)*r
  bccsc1 x=cos(n*i)*sin(i)*r
y=cos(i)*cos(i)*r
 
bsccs1 x=sin(n*i)*cos(i)*r
y=cos(i)*sin(i)*r
  bcccs1 x=cos(n*i)*cos(i)*r
y=cos(i)*sin(i)*r
 
bsccc1 x=sin(n*i)*cos(i)*r
y=cos(i)*cos(i)*r
  bcccc1 x=cos(n*i)*cos(i)*r
y=cos(i)*cos(i)*r
 

 

 6.加大、加密、重迭绘制水平、垂直花边,动态增大减小花叶半径。

 7.正向、反向绘制水平、垂直花边,改变花边的水平、垂直位置。

 8.同时向左或向右绘制水平花边,向上或向下绘制垂直花边。

 9.同时绘制上下左右的水平、垂直花边。

 10.改变小窗口边框和内部填充区的距离。

 11.画一个窗口,画一个花,擦一个窗口,然后画第二窗口。

 12.画4个窗口,画4个花,然后同时擦4个窗口。

 13.改变中心花环形状:随圆、开口随圆(向上、向下、向左、向右)、长轴、短轴。

  

实验  设计绘制彩条的 Java 小程序

 设计实现绘图彩条的 Java  小程序,要求彩条中插入相片。

 1.变色彩条  bsct1.htm  bsct1_dm(P255)

 2.彩条图像 cttx.htm  cttx1.htm(P261)

 

实验9 制作画图工具(绘制图形的 Java 应用程序)

 1.制作绘制图形的 Java 应用程序或小程序。htgj.exe  htgj_dm hztxcx.htm(P256)

 2.能够选择红绿蓝颜色,画点和直线。

  

实验10 设计实现日历时钟动态演示的 Java 小程序

 设计实现日历时钟动态演示的 Java  小程序。rlsz szys(P265)