资源描述
实验项目1Java开发环境与语言基础
第1部分Java程序开发环境配置与简朴Java程序开发
[实验目的]
1、 熟悉Java开发环境JDK1.6,Eclipse的安装与配置。
2、 学会分别运用JDK1.6和Eclipse开发简朴的Application和Applet程序。
[实验规定]
1、 复习理论教学中所学的内容。
2、 认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。
[实验课时]2学时
[实验教学方式]学生上机实验,教师随堂指导。
[实验内容]
1、 下载并安装JDK1.6,过程可参考教材P4-6。
2、 配置环境变量:SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文献夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设立Path。对于Windows2023、Windows2023、WindowsXP,用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选项,然后点击按钮“环境变量”,添加如下图所示的系统环境变量:
J2SDK的安装目录的jre文献夹中包含着Java应用程序运营时所需要的Java类库,这些类库被包含在jre\lib目录下的压缩文献rt.jar中。因此,再添加如下图所示环境变量。
3、 下载Eclipse3.4或以上版本,将其解压到某一目录下。使用时只需双击eclipse图标即可。
4、 在记事本中编写简朴的Application程序,运用JDK命令方式在屏幕上打印输出“你好,不久乐学习Java”。
5、 在记事本中编写简朴的Applet程序,运用JDK命令方式在JavaApplet中绘制一行文字:“这是一个JavaApplet程序”。
6、 在Eclipse环境下完毕3,4所规定的任务,可参考教材P416实验1的环节。
[实验环节及提醒]
1、一个简朴的JavaApplication程序。打开记事本,编辑以下代码
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
System.out.println("你好,不久乐学习Java");
}
}
n 保存将源文献保存到C:\1000中,并命名为Hello.java。注意不可写成hello.java,由于Java语言是区分大小写的。源文献的命名规则是这样的,假如源文献中有多个类,那么只能有一个类是public类。假如有一个类是public类,那么源文献的名字必须与这个类的名字完全相同,扩展名是.java。假如源文献没有public类,那么源文献的名字只要和某个类的名字相同,并且扩展名是.java就可以了。
n 编译当创建了Hello.java这个源文献后,就要使用Java编译器(javac.exe)对其进行编译。
C:\1000\>javacHello.java
n 运营Java应用程序必须通过Java虚拟机中的Java解释器(java.exe)来解释执行其字节码文献。Java应用程序总是从主类的main方法开始执行。因此,必须如下运营Java应用程序:
C:\1000\>javaHello
2、一个简朴的Java小应用程序(JavaApplet)。打开记事本,编辑以下代码:
importjava.applet.*;
importjava.awt.*;
publicclassBoyextendsApplet
{
publicvoidpaint(Graphicsg)
{g.setColor(Color.red);
g.drawString("我一边喝着咖啡,一边学Java呢",5,30);
g.setColor(Color.blue);
g.drawString("我学得很认真",10,50);
}
}
n 编译c:\1000\>javacBoy.java
n 运营 JavaApplet由浏览器来运营,因此我们必须编写一个超文本文献(具有applet标记的web页)告知浏览器来运营这个JavaApplet。以下是一个简朴的html文献:Boy.html
<appletcode=Boy.classheight=100width=300></applet>
n 假如浏览器不支持JavaApplet程序(比如WinXP自带的IE),你也可以使用SDK提供的appletviewer来调试小程序,如,在DOS命令行执行:
c:\1000\appletviewerBoy.html
3、 在Eclipse环境下完毕3,4所规定的任务,可参考教材P416实验1的环节。
第2部分Java基本数据类型与控制语句
[实验目的]
1、 掌握Java的各种基本数据类型的用法。
2、 掌握Java的控制语句。
[实验规定]
1、 复习理论教学中所学的内容。
2、 认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。
[实验课时]2学时
[实验教学方式]学生上机实验,教师随堂指导。
[实验内容]
1、 输出希腊字母表。下面给出该程序的模板代码,请先读懂这段代码并将其补充完整,然后编译、运营该程序。
GreekAlphabet.java
publicclassGreekAlphabet
{
publicstaticvoidmain(Stringargs[])
{
intstartPosition=0,endPosition=0;
charcStart='α',cEnd='ω';
【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition
【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+(int)c);
System.out.println("希腊字母表:");
for(inti=startPosition;i<=endPosition;i++)
{
charc='\0';
【代码3】//i做char型转换运算,并将结果赋值给c
System.out.print(""+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}
2、 4、判断一个1至99999之间的数是否“回文数”。下面给出该程序的模板代码,请先读懂这段代码并将其补充完整,然后编译、运营该程序。
Number.java
importjavax.swing.JOptionPane;
publicclassNumber
{
publicstaticvoidmain(Stringargs[])
{
intnumber=0,d5,d4,d3,d2,d1;
Stringstr=JOptionPane.showInputDialog("输入一个1至99999之间的数");
number=Integer.parseInt(str);
if(【代码1】)//判断number在1至99999之间的条件
{
【代码2】//计算number的最高位(万位)d5
【代码3】//计算number的千位d4
【代码4】//计算number的百位d3
d2=number%100/10;
d1=number%10;
if(【代码5】)//判断number是5位数的条件
{
System.out.println(number+"是5位数");
if(【代码6】)//判断number是回文数的条件
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(【代码7】)//判断number是4位数的条件
{
System.out.println(number+"是4位数");
if(【代码8】)//判断number是回文数的条件码
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(【代码9】)//判断number是3位数的条件
{
System.out.println(number+"是3位数");
if(【代码10】)//判断number是回文数的条件
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(d2!=0)
{
System.out.println(number+"是2位数");
if(d1==d2)
{
System.out.println(number+"是回文数");
}
else
{
System.out.println(number+"不是回文数");
}
}
elseif(d1!=0)
{
System.out.println(number+"是1位数");
System.out.println(number+"是回文数");
}
}
else
{
System.out.printf("\n%d不在1至99999之间",number);
}
}
}
3、完毕教材P419-422实验2的所有内容。
[实验环节]
参照教材中在JDK环境下编辑、编译和运营Java程序的环节。
[实验参考答案]
1、输出希腊字母表参考答案:
【代码1】:startPosition=(int)cStart;
【代码2】:endPosition=(int)cEnd;
【代码3】:c=(char)i;
2、“回文数”参考答案:
【代码1】:number<=99999&&number>=1
【代码2】:d5=number/10000;
【代码3】:d4=number%10000/1000;
【代码4】:d3=number%1000/100;
【代码5】:d5!=0
【代码6】:d1==d5&&d2==d4
【代码7】:d4!=0
【代码8】:d1==d4&&d2==d3
【代码9】:d3!=0
【代码10】:d1==d3
3、 环节详见教材P419-422实验2。
实验报告规定规定:
按实验项目一第1,2部分所有内容写一次实验报告。规定仿照如下模板书写:要有实验目的、实验内容、实验环节、实验结果截图、实验过程及问题分析与解决办法阐述、实验总结等。
下面模板是一个格式规定,书写时应按实验项目一第1,2部分所做的实验书写各部分内容。
每个同学所书写的实验报告不能雷同,若有雷同,则成绩都记为0分。
第5周实验课时,务必将自己的电子版实验报告带上,要将其准时传到实验报告上交系统中,过期将不能提交,成绩为0分。
甘肃政法学院
本科学生实验报告
(一)
姓名 学院 计算机科学学院
专业 班级
实验课程名称
实验时间 年 月 日
指导教师及职称 李瑞生
实验成绩
开课时间 学年 学期
甘肃政法学院实验管理中心印制
实验题目
小组合作
是○否○
姓名
班级
学号
一、实验目的:
a) 纯熟掌握如何在JSP页面中使用page指令设立contentType的值。
3、 纯熟掌握如何在JSP页面中使用request内置对象。
4、 纯熟掌握如何在JSP页面中使用response对象动态响应用户的请求。
二、实验环境:
装有Myeclipse8.5,Tomcat6.0的计算机一台
三、实验内容与环节:
一.JSP指令标记与JSP动作标记实例
1.first.jsp
<%@pagecontentType="text/plain"%>
<HTML>
<BODY>
<FONTsize=4color=blule>
<%@includefile="hello.txt"%>
</FONT>
</BODY>
</HTML>
second.jsp
<%@pagecontentType="application/vnd.ms-powerpoint"%>
<HTML>
<BODY>
<FONTsize=2color=blule>
<%@includefile="hello.txt"%>
</FONT>
</BODY>
</HTML>
third.jsp
<%@pagecontentType="application/msword"%>
<HTML>
<BODY>
<FONTsize=4color=blule>
<%@includefile="hello.txt"%>
</FONT>
</BODY>
</HTML>
运营结果:
frist.jsp
second.jsp
third.jsp
二.JSP内置对象实例:
1.inputGuess.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<HTML>
<BODYbgcolor=cyan><FONTSize=2>
<P>随机分给了你一个1到100之间的数,请猜!
<%
intnumber=(int)(Math.random()*100)+1;
session.setAttribute("count",newInteger(0));
session.setAttribute("save",newInteger(number));
%>
<FORMaction="result.jsp"method="post"name=form>
输入你的猜测:<INPUTtype="text"name="boy">
<INPUTTYPE="submit"value="送出"name="submit">
</FORM>
</FONT>
</BODY>
</HTML>
2.result.jsp
<%Stringstr=request.getParameter("boy");
if(str.length()==0)
{
response.sendRedirect("inputGuess.jsp");
}
intguessNumber=-1;
try
{
guessNumber=Integer.parseInt(str);
Integerinteger=(Integer)session.getAttribute("save");
intrealnumber=integer.intValue();
if(guessNumber==realnumber)
{
intn=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",newInteger(n));
response.sendRedirect("success.jsp");
}
elseif(guessNumber>realnumber)
{
intn=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",newInteger(n));
response.sendRedirect("large.jsp");
}
elseif(guessNumber<realnumber)
{
intn=((Integer)session.getAttribute("count")).intValue();
n=n+1;
session.setAttribute("count",newInteger(n));
response.sendRedirect("small.jsp");
}
}
catch(Exceptione)
{
response.sendRedirect("inputGuess.jsp");
}
%>
3.small.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<HTML>
<BODYbgcolor=cyan>
<FONTSize=2>
<FORMaction="result.jsp"method="get"name=form>
猜小了,请再猜:<INPUTtype="text"name="boy">
<INPUTTYPE="submit"value="送出"name="submit">
</FORM>
</FONT>
</BODY>
</HTML>
4.large.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<HTML>
<BODYbgcolor=cyan>
<FONTSize=2>
<FORMaction="result.jsp"method="get"name=form>
猜大了,请再猜:<INPUTtype="text"name="boy">
<INPUTTYPE="submit"value="送出"name="submit">
</FORM>
</FONT>
</BODY>
</HTML>
5.success.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<HTML>
<BODYbgcolor=cyan><FONTSize=2>
<%
intcount=((Integer)session.getAttribute("count")).intValue();
intnum=((Integer)session.getAttribute("save")).intValue();
%>
<P>恭喜你,猜对了
<BR>您共猜了<%=count%>次,这个数字就是<%=num%>。
<BR>单击超链接返回到inputGuess.jsp页面:
<BR><Ahref="inputGuess.jsp">inputGuess.jsp</A>
</FONT>
</BODY>
</HTML>
运营结果:
四、实验过程与分析:
一.JSP指令标记与JSP动作标记实例中,编写三个JSP页面:first.jsp、second.jsp和third.jsp。此外,规定用“记事本”编写一个txt文献hello.txt。hello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“<BR>”分隔。first.jsp使用page指令设立contentType属性的值是"text/plain",使用include指令静态插入hello.txt文献,second.sp使用page指令设立contentType属性的值是"application/vnd.ms-powerpoint",使用include指令静态插入hello.txt文献,hird.jsp使用page指令设立contentType属性的值是"application/msword",使用include指令静态插入hello.txt文献,分别以不同的方式打开输出了同一句话,例如,用powerpoint,word方式打开。
二.JSP内置对象实例中,用户请求inputGuess.jsp时,随机分派给该用户一个1到100之间的数。该页面同时负责将这个数字存在用户的session对象中。该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面,result.jsp页面负责判断inputGuess.jsp提交的猜测是否和用户的session对象中存放的那个数字相同,假如相同就将用户复位向到success.jsp;假如不相同就将用户复位向到large.jsp或small.jspsmall.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面success.jsp页面负责负责显示用户成功的消息,并负责输出用户session对象中的数据。
五、实验总结:
这次实验是初次接触JAVAWEB开发,刚开始实验时不知道如何进行配置,如何发布项目,如何运营项目,这次实验成功时,感到十分兴奋。这次实验可以说是基础实验,对这门课有课一个初步的了解。
这次实验重要是在老师和同学的帮助下完毕的,让我最这门课有了一个初步的了解,对各种软件有了一个初步了解,感到这门课十分神奇。
通过这次实验,我对这门课有了一个初步的认知,对以后学好这门课打下了一个基础。
六、指导教师评语及成绩:
实验过程与结果完整,分析总结得当。
教室署名
李瑞生
成绩
批阅日期
2023年4月15日
展开阅读全文