高级语言程序设计实验JAVAWord文档格式.docx
《高级语言程序设计实验JAVAWord文档格式.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计实验JAVAWord文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
1.基本指导
指导内容1:
编写并运行第一个JavaApplication程序
实验步骤:
(1)开机后,在java实验目录下创建test子目录。
本阶段的Java源程序、编译后的字节码文件都放在这个目录中。
(2)打开一个纯文本编辑器(如记事本),键入如下程序(注意大小写):
importjava.io.*;
publicclassMyClass
{
privateintval1,val2;
publicvoidmyFun(intx,inty)
{
val1=x;
val2=y;
System.out.println("
thesumis"
+(val1+val2));
}
publicstaticvoidmain(Stringarg[])
MyClassMyObj=newMyClass();
MyObj.myFun(3,4);
}
(3)将文件保存起来,命名为MyClass.java,保存在自己工作的目录下。
(4)进入命令方式(MS—DOS),并转.java文件所在目录。
敲入下述命令,编译上述Java文件。
命令格式:
javacMyClass.java
(5)利用Java解释器运行这个JavaApplication程序并查看运行结果。
javaMyClass
以上程序运行结果如图1-1所示。
图1-1
指导内容2:
编写并编译第一个JavaApplet程序。
(1)打开一个纯文本编辑器(如记事本),键入如下程序(注意大小写):
importjava.awt.Graphics;
importjava.applet.Applet;
publicclassMyFirstJavaAppletextendsApplet
publicStrings;
publicvoidinit()
{
s=newString("
HelloWorld!
"
);
publicvoidpaint(Graphicsg)
{g.drawString(s,25,25);
(2)把文件保存起来,命名为MyFirstJavaApplet.java,保存在自己测试的目录下。
(3)进入命令方式(MS—DOS)并转.java文件所在目录,敲入下述命令,编译上述Java文件。
javacMyFirstJavaApplet.java
(4)编写配合Applet的HTML文件,代码如下:
<
html>
head>
title>
MyApplet<
/title>
/head>
body>
appletcode="
MyFirstJavaApplet.class"
width=400height=100>
/applet>
/body>
/html>
(5)将上述内容存盘为MyFirstJavaApplet.html,与文件MyFirstJavaApplet.java保存在本实验的工作目录下。
(6)用模拟的Applet运行环境解释运行这个JavaApplet程序并观察运行结果。
AppletViewerMyFirstJavaApplet.html
以上程序的运行结果如图1-2所示。
图1-2
实验二面向对象的编程技术
(1)掌握类与对象的基本概念以及它们之间的关系;
(2)掌握定义类与创建对象实例的方法;
(3)掌握类方法和属性的定义和使用;
(4)掌握构造方法的定义及其使用。
指导内容:
定义一个类-圆,并编一个主类测试它。
(1)开机后,在java实验目录下创建test4子目录。
(2)打开一个纯文本编辑器,定义一个类-圆,代码如下:
classCCircle{
doublepi;
doubleradius;
doublegetRadius(){
returnradius;
voidsetCircle(doubler,doublep){
pi=p;
radius=r;
(3)在上面的代码后面添加主类代码,创建类-圆的一个实例,并输出该圆的半径:
publicclassTestCCircle{
publicstaticvoidmain(Stringargs[]){
CCirclecir1=newCCircle();
cir1.setCircle(2.0,3.1416);
radius="
+cir1.getRadius());
(4)把文件命名为TestCCircle.java,保存在java实验目录的test4子目录下。
(5)编译并运行该程序,程序的运行结果如图4.1所示
图4.1
2.练习思考
练习内容:
扩展圆的定义,为其增加可以求圆面积的方法,并在主类中输出一个实例化的圆的面积。
思考问题:
运行扩展后的程序,思考如下的问题:
(1)是否可以将类-圆的定义和主类的源代码放在两个文件中。
如果可以的话,两个文件的命名有何要求,上机测试后,给出结论。
(2)修改程序,使圆的属性pi定义为最终变量,其值为3.14159,看会出现什么样的结果。
如果程序出错,请调整代码以适合属性pi为最终变量的要求。
(3)为程序添加构造方法代码,调用该构造方法,可以完成圆的半径的初始化。
(4)修改主类代码,测试构造方法的使用。
3.上机作业
(1)编写Book.java,定义一个类Book,具有以下属性和方法:
属性:
书名(Title);
出版日期(Pdate);
字数(Words)。
方法:
计算单价price():
单价=字数/1000*35*日期系数
上半年的日期系数=1.2;
下半年的日期系数=1.18
(2)编写主类TestClass,在主类中实例化类Book,并输出实例化对象的属性。
运行该程序,分析运行的结果,你觉得你学到了什么?
实验三类的方法
(1)掌握一维数组的声明、初始化和引用;
(2)熟练使用if/else语句和switch条件分支语句编程;
(3)熟练使用while语句、do-while语句、for语句等循环语句编程。
比较两个数的大小并按升序输出。
(1)开机后,在java实验目录下创建test3子目录。
(2)打开一个纯文本编辑器,键入如下程序(注意大小写):
publicclassSort{
publicstaticvoidmain(Stringargs[]){
doubled1=23.4;
doubled2=35.1;
if(d2>
=d1)
System.out.println(d2+"
>
="
+d1);
else
System.out.println(d1+"
+d2);
(3)将文件保存起来,命名为Sort.java,保存在java实验目录的test3子目录下。
javacSort.java
程序的运行结果如图3.1所示。
javaSort
图3.1
编写程序,输出1到1000之间,所有可以被3整除又可以被7整除的数。
(1)打开一个文本编辑器,键入如下程序(注意大小写):
publicclassNumTest{
intn,num,num1;
在1~1000可被3与7整除的为"
for(n=1;
n<
=1000;
n++){
num=n%3;
num1=n%7;
if(num==0){
if(num1==0)
System.out.print(n+"
"
(2)把文件命名为NumTest.java,保存在java实验目录的test3子目录下。
javacNumTest.java
(4)利用Java解释器运行这个JavaApplication程序并查看运行结果。
程序的运行结果如图3.2所示。
javaNumTest。
图3.2
创建一个具有5个值的数组,并找出最大值和最小值。
程序代码:
publicclassArrSort{
publicstaticvoidmain(String[]args){
intarr[]=newint[5];
inti;
arr[0]=10;
arr[1]=20;
arr[2]=-9;
arr[3]=8;
arr[4]=98;
intmin=0,max=0;
for(i=0;
i<
5;
i++){
if(max<
arr[i])
max=arr[i];
if(min>
min=arr[i];
数组的最大值是:
+max);
数组的最小值是:
+min);
(1)将上面的数组进行排序,数组的第一个元素为最小值,最后一个元素为最大值。
(2)能根据给定的数组值,找出该数组值在数组中的下标。
(1)编写一个换算GPA的Application程序,对于学生学习的每门课程,都输入两个整数:
考试成绩和学分,考试成绩按如下公式换算:
85~100:
4
75~84:
3
60~74:
2
45~59:
1
44以下:
GPA等于换算后每门课的成绩的学分加权平均值(∑(成绩×
学分)/∑学分)。
学生信息参考下表
姓名
课程名
学分
成绩
张一
数学
71.5
张二
英语
3.5
80.4
张三
数据结构
3
95.5
李一
78.5
李二
54.5
李三
数据库
60.5
赵一
88.5
赵二
92.5
赵三
实验四类的重用
(1)掌握类的继承、方法的继承和重写;
(2)掌握JAVA基础类库(String类)的使用;
编写一个Java应用程序,判断两个字符是否相同,判断字符串的前缀,后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串放到数组中,用字符数组创建字符串。
参考程序模板:
classStringExample
{publicstaticvoidmain(Stringargs[])
{Strings1=newString("
youareastudent"
),
s2=newString("
howareyou"
if(【代码1】)//使用equals方法判断s1与s2是否相同
s1与s2相同"
}
s1与s2不相同"
Strings3=newString("
22030219851022024"
if(【代码2】)//判断s3的前缀是否是“220302”。
吉林省的身份证"
Strings4=newString("
你"
s5=newString("
我"
if(【代码3】)//按着字典序s4大于s5的表达式。
按字典序s4大于s5"
按字典序s4小于s5"
intposition=0;
Stringpath="
c:
\\java\\jsp\\A.java"
;
position=【代码5】//获取path中最后出现目录分隔符号的位置
\\java\\jsp\\A.java中最后出现\\的位置:
+position);
StringfileName=【代码6】//获取path中“A.java”子字符串。
\\java\\jsp\\A.java中含有的文件名:
+fileName);
Strings6=newString("
100"
s7=newString("
123.678"
intn1=【代码7】//将s6转化成int型数据。
doublen2=【代码8】//将s7转化成double型数据。
doublem=n1+n2;
System.out.println(m);
Strings8=【代码9】//String调用valuOf(intn)方法将m转化为字符串对象
position=s8.indexOf("
."
Stringtemp=s8.substring(position+1);
数字"
+m+"
有"
+temp.length()+"
位小数"
);
Strings9=newString("
ABCDEF"
chara[]=【代码10】//将s8存放到数组a中。
for(inti=a.length-1;
i>
=0;
i--)
System.out.print("
+a[i]);
1.编写一个Java应用程序,除了主类外,该程序中还有4个类:
People、ChinaPeople、AmericanPeople和BeijingPeople类。
要求如下:
●People类有访问权限是protected的double型成员变量:
height和weight,以及publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法
●ChinaPeople类是People的子类,新增了publicvoidchinaGongfu()方法。
要求ChinaPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法
●AmericanPeople类是People的子类,新增publicvoidamericanBoxing()方法,要求AmericanPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法
●BeijingPeople类是ChinaPeople的子类,新增publicvoidbeijingOpera()方法,要求BeijingPeople重写父类的publicvoidspeakHello()、publicvoidaverageHeight()和publicvoidaverageWeight()方法
classPeople
{protecteddoubleweight,height;
publicvoidspeakHello()
{System.out.println("
yayawawa”);
publicvoidaverageHeight()
{height=173;
System.out.println("
averageheight:
”+height);
publicvoidaverageWeight()
weight=70;
averageweight:
”+weight);
classChinaPeopleextendsPeople
[代码1]//重写publicvoidspeakHello()方法,要求输出"
你好,吃饭了吗"
汉语信息
[代码2]//重写publicvoidaverageHeight()方法,要求输出"
中国人的平均身高:
173.0厘米"
[代码3]//重写publicvoidaverageWeight()方法,要求输出"
中国人的平均体重:
67.34公斤"
publicvoidchinaGongfu()
[代码4]//输出中国武术信息,例如:
坐如钟,站如松,睡如弓"
classAmericanPeopleextendsPeople
[代码5]//重写publicvoidspeakHello()方法,要求输出"
Howdoyoudo"
[代码6]//重写publicvoidaverageHeight()方法
[代码7]//重写publicvoidaverageWeight()方法
[代码8]//输出拳术信息,例如:
直拳、勾拳"
classBeijingPeopleextendsChinaPeople
[代码9]//重写publicvoidspeakHello()方法,要求输出"
您好,这里是北京"
[代码10]//重写publicvoidaverageHeight()方法
[代码11]//重写publicvoidaverageWeight()方法
[代码12]//输出京剧信息,例如:
京剧术语"
publicclassExample
publicstaticvoidmain(Stringargs[])
ChinaPeoplechinaPeople=newChinaPeople();
AmericanPeopleamericanPeople=newAmericanPeople();
BeijingPeoplebeijingPeople=newBeijingPeople();
chinaPeople.speakHello();
americanPeople.speakHello();
beijingPeople.speakHello();
chinaPeople.averageHeight();
americanPeople.averageHeight();
beijingPeople.averageHeight();
chinaPeople.averageWeight();
americanPeople.averageWeight();
beijingPeople.averageWeight();
chinaPeople.chinaGongfu();
americanPeople.americanBoxing();
beijingPeople.beijingOpera();
beijingPeople.chinaGongfu();
实验五包、接口、类库
(1)掌握创建包与引用包的方法;
(2)掌握用接口实现多重继承的机制;
包的创建和引用。
(1)开机后,在java实验目录下创建test5子目录。
本阶段的Java源程序都放在这个子目录中。
字节码文件则根据建包的情况放在test5相应的子目录中。
(2)打开一个纯文本编辑器,输入如下的代码:
packagep1;
publicclassDefiPackage{
publicvoiddisplay(){
inmethoddisplay()"
(3)将文件命名为DefiPackage.java,保存在java实验目录的test5子目录下。
(4)打开MS-DOS窗口,转到DefiPackage.java所在的目录,键入命令:
javac-d.DefiPackage.java
(5)键入Dir命令,可以看到在test5子目录下创建了p1的子文件夹。
接着键入下面的命令以查看p1下的