《互联网软件开发JAVA》课程实验指导书Word格式文档下载.docx
《《互联网软件开发JAVA》课程实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《互联网软件开发JAVA》课程实验指导书Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。
![《互联网软件开发JAVA》课程实验指导书Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/26/eabd14c2-eeca-4b95-a044-84b0db79b8fa/eabd14c2-eeca-4b95-a044-84b0db79b8fa1.gif)
实验一开发环境熟悉
实验学时:
2学时
实验类型:
演示
实验要求:
必做
一、实验目的
掌握开发Java应用程序的3个步骤:
编写源文件、编译源文件和运行应用程序。
二、实验内容
1.新建项目myfirstProject,新建一个类Hello.java,输入以下代码,并将空缺的功能补上(代码1和代码2处)。
2.联合编译
新建项目myfirstProject,新建三个类,Hello.java,A.java,B.java,代码如下:
并将空缺的功能补上。
3.对第二道题目的程序执行单步调试,从而掌握调试基本功能。
三、实验原理、方法和手段
参考案例、课件和教材相关内容。
上机操作
四、实验组织运行要求
集中授课
五、实验条件
软件配置:
WindowsXPProfessional、IE5.5以上、eclipse开发环境
硬件配置:
CPUP42.0G以上、内存512MB以上
六、实验步骤
七、思考题
(1)编译器怎样提示丢失大括号的错误?
(2)编译器怎样提示语句丢失分号的错误?
(3)编译器怎样提示将System写成system这一错误?
(4)编译器怎样提示将String写成string这一错误?
八、实验报告
要求实验报告的内容包括实验目的、实验设备、实验内容、实验结果、思考题五个部分。
九、其它说明
实验二基本数据类型与控制语句
验证
掌握char型数据和int型数据之间的互相转换,同时了解unicode字符表。
1.编写一个java程序,该程序在命令行窗口输出希腊字母表
GreekAlphabet.java
publicclassGreekAlphabet
{
publicstaticvoidmain(Stringargs[])
{
intstartPosition=0,endPosition=0;
charcStart='
α'
cEnd='
ω'
;
【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition。
【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition。
System.out.println("
希腊字母\'
α\'
在unicode表中的顺序位置:
"
+(int)cStart);
希腊字母表:
);
for(inti=startPosition;
i<
=endPosition;
i++)
{
charc='
\0'
【代码3】//i做char型转换运算,并将结果赋值给c。
System.out.print("
"
+c);
}
}
}
2.编写一个java程序,用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数十否是回文数。
回文数是指该数含有的数字逆序排列后得到的数与原数相同,例如:
12121,3223都是回文数。
请按模板将[代码]替换为java程序代码。
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是回文数的条件。
是回文数"
else
不是回文数"
elseif(【代码7】)//判断number是4位数的条件。
是4位数"
if(【代码8】)//判断number是回文数的条件码。
elseif(【代码9】)//判断number是3位数的条件。
是3位数"
if(【代码10】)//判断number是回文数的条件。
elseif(d2!
=0)
是2位数"
if(d1==d2)
elseif(d1!
是1位数"
System.out.println(number+"
不在1至99999之间"
3.编写一个java应用程序,实现以下功能:
(1)程序随机分配给客户一个1-100之间的整数。
(2)用户在输入对话框中输入自己的猜测。
(3)程序返回提示信息,提示信息分别是:
“猜大了”、“猜小了”、和“猜对了”。
(4)用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了”。
GuessNumber.java
publicclassGuessNumber
给你一个1至100之间的整数,请猜测这个数"
intrealNumber=(int)(Math.random()*100)+1;
intyourGuess=0;
输入您的猜测:
yourGuess=Integer.parseInt(str);
while(【代码1】)//循环条件。
if(【代码2】)//条件代码。
str=JOptionPane.showInputDialog("
猜大了,在再输入你的猜测:
elseif(【代码3】)//条件代码。
猜小了,在再输入你的猜测:
猜对了!
实验三类与对象
使用类来封装对象的属性和功能;
掌握类变量和实例变量,以及类方法和实例方法的区别。
1.
程序模板
AreaAndLength.java
classTrangle
doublesideA,sideB,sideC,area,length;
booleanboo;
publicTrangle(doublea,doubleb,doublec)
【代码1】//参数a,b,c分别赋值给sideA,sideB,sideC。
if(【代码2】)//a,b,c构成三角形的条件表达式。
【代码3】//给boo赋值。
【代码4】//给boo赋值。
doublegetLength()
【代码5】//方法体,要求计算出length的值并返回。
publicdoublegetArea()
if(boo)
doublep=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
returnarea;
不是一个三角形,不能计算面积"
return0;
publicvoidsetABC(doublea,doubleb,doublec)
【代码6】//参数a,b,c分别赋值给sideA,sideB,sideC。
if(【代码7】)//a,b,c构成三角形的条件表达式。
【代码8】//给boo赋值。
【代码9】//给boo赋值。
classLader
doubleabove,bottom,height,area;
Lader(doublea,doubleb,doubleh)
【代码10】//方法体。
doublegetArea()
【代码11】//方法体,,要求计算出area返回。
classCircle
doubleradius,area;
Circle(doubler)
【代码12】//方法体。
doublegetArea()
【代码13】//方法体,要求计算出area返回。
【代码14】//方法体,要求计算出length返回。
voidsetRadius(doublenewRadius)
radius=newRadius;
doublegetRadius()
returnradius;
publicclassAreaAndLength
doublelength,area;
Circlecircle=null;
Trangletrangle;
Laderlader;
【代码15】//创建对象circle。
【代码16】//创建对象trangle。
【代码17】//创建对象lader。
【代码18】//circle调用方法返回周长并赋值给length。
圆的周长:
+length);
【代码19】//circle调用方法返回面积并赋值给area。
圆的面积:
+area);
【代码20】//trangle调用方法返回周长并赋值给length。
三角形的周长:
【代码21】//trangle调用方法返回面积并赋值给area。
三角形的面积:
【代码22】//lader调用方法返回面积并赋值给area。
梯形的面积:
【代码23】//trangle调用方法返修改三个边的代码,要求将三个边修改为12,34,1。
【代码24】//trangle调用方法返回面积并赋值给area。
【代码25】//trangle调用方法返回周长并赋值给length。
2.
请按模板要求,将【代码】替换为Java程序代码
Example.java
classA
【代码1】//声明一个float型实例变量:
a。
【代码2】//声明一个float型类变量:
b。
voidsetA(floata)
【代码3】//将参数a的值赋值给成员变量a。
voidsetB(floatb)
【代码4】//将参数b的值赋值给成员变量b。
floatgetA()
returna;
floatgetB()
returnb;
voidinputA()
System.out.println(a);
staticvoidinputB()
System.out.println(b);
publicclassExample
publicstaticvoidmain(Stringargs[])
【代码5】//通过类名操作类变量b,并赋值100。
【代码6】//通过类名调用方法inputB()。
Acat=newA();
Adog=newA();
【代码7】//cat象调用方法setA(inta)将cat的成员a的值设置为200。
【代码8】//cat调用方法setB(intb)将cat的成员b的值设置为400。
【代码9】//dog象调用方法setA(inta)将dog的成员a的值设置为200。
【代码10】//dog调用方法setB(intb)将dog的成员b的值设置为400。
【代码11】//cat调用inputA()。
【代码12】//cat调用inputB()。
【代码13】//dog调用inputA()。
【代码14】//dog调用inputB()。
3继承
classPeople
{
protecteddoubleweight,height;
publicvoidspeakHello()
yayawawa"
publicvoidaverageHeight()
height=173;
averageheight:
+height);
publicvoidaverageWeight()
weight=70;
averageweight:
+weight);
classChinaPeopleextendsPeople
【代码1】//重写publicvoidspeakHello()方法,要求输出类似“你好,吃了吗”这样的
//汉语信息。
【代码2】//重写publicvoidaverageHeight()方法,要求输出类似
//“中国人的平均身高:
168.78厘米”这样的汉语信息。
【代码3】//重写publicvoidaverageWeight()方法,
//要求输出类似“中国人的平均体重:
65公斤”这样的汉语信息。
publicvoidchinaGongfu()
【代码4】//输出中国武术的信息,例如:
坐如钟,站如松,睡如弓"
等。
classAmericanPeopleextendsPeople
【代码5】//重写publicvoidspeakHello()方法,要求输出类似
//“Howdoyoudo”这样的英语信息。
【代码6】//重写publicvoidaverageHeight()方法。
【代码7】//重写publicvoidaverageWeight()方法。
publicvoidamericanBoxing()
【代码8】//输出拳击的信息,例如,“直拳”、“钩拳”等。
classBeijingPeopleextendsChinaPeople
【代码9】//重写publicvoidspeakHello()方法,要求输出类似“您好”这样的汉语信息。
【代码10】//重写publicvoidaverageHeight()方法。
【代码11】//重写publicvoidaverageWeight()方法。
publicvoidbeijingOpera()
【代码12】//输出京剧的信息。
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();
4上转型对象
HardWork.java
abstractclassEmployee
publicabstractdoubleearnings();
classYearWorkerextendsEmployee
【代码1】//重写earnings()方法。
classMonthWorkerextendsEmployee
【代码2】//重写earnings()方法。
classWeekWorkerextendsEmployee
【代码3】//重写earnings()方法。
classCompany
Employee[]employee;
doublesalaries=0;
Company(Employee[]employee)
this.employee=employee;
publicdoublesalariesPay()
salaries=0;
【代码4】//计算salaries。
returnsalaries;
publicclassHardWork
Employee[]employee=newEmployee[20];
for(inti=0;
employee.length;
if(i%3==0)
employee[i]=newWeekWorker();