JAVA实验报告文档格式.docx
- 文档编号:22961555
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:54
- 大小:39.51KB
JAVA实验报告文档格式.docx
《JAVA实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告文档格式.docx(54页珍藏版)》请在冰豆网上搜索。
(2)熟练掌握Java应用程序的结构;
(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;
(4)熟练掌握常见数据类型的使用;
(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;
(6)熟练掌握数组和字符串的使用;
(7)调试程序要记录调试过程中出现的问题及解决办法;
(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
(9)做完实验后给出本实验的实验报告。
二、实验仪器和设备
奔腾以上计算机,Windows操作系统,装有JDK1.6和Eclipse4.2软件。
三、实验过程
(1)分别使用JDK命令行和Eclipse编译运行Java应用程序;
适当添加注释信息,通过javadoc生成注释文档;
为主方法传递参数“Helloworld”字符串,并输出,记录操作过程。
publicclassHello
{
publicstaticvoidmain(Stringargs[])
{
}
}
(2)分别使用JDK命令行和Eclipse编译JavaApplet,并建立HTML文档运行该Applet。
压缩生成"
.jar"
文件。
记录操作过程。
importjava.awt.*;
publicclassHelloAppletextendsApplet
publicvoidpaint(Graphicsg)
g.setColor(Color.red);
g.drawString("
Hello!
"
20,20);
<
html>
appletcode="
HelloApplet.class"
height=100width=300>
/applet>
/html>
(3)根据变量score中存放的考试分数,输出对应的等级。
要求从键盘输入学生成绩,
60分以下为D等;
60~69为C等;
70~89为B等;
90~100为A等。
(4)编写一个JavaApplication程序,输出区间[200,300]上的所有素数,将其用数组prime[]保存,并以每10个一行的形式显示运行结果。
(5)输出下列数字形式,要求用二维数组完成。
①n=4
0000
0111
0122
0123
②n=4
1
121
12321
1234321
(6)求二维数组的鞍点,即该位置上的元素在该行上最大,在列上最小。
也可能无鞍点。
(7)分析下列程序的输出结果,掌握equals()方法和“==”的区别。
classStringTest2{
publicstaticvoidmain(Stringargs[]){
Strings1="
Thisisthesecondstring."
;
Strings2="
Strings3=newString("
);
Strings4=newString(s1);
Strings5=s1;
booleanresult121=s1.equals(s2);
booleanresult122=s1==s2;
booleanresult131=s1.equals(s3);
booleanresult132=s1==s3;
booleanresult141=s1.equals(s4);
booleanresult142=s1==s4;
booleanresult151=s1.equals(s5);
booleanresult152=s1==s5;
(8)判断回文字符串
回文是一种“从前向后读”和“从后向前读”都相同的字符串。
如“rotor”是一个回文字符串。
程序中使用了两种算法来判断回文字符串:
算法一:
分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:
否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。
算法二:
将原串str反转成temp串,再比较两串,如果相等则是回文字符串。
(9)使用String类的compareTo(Strings)方法,对以下字符串从小到大排序:
“melon”,“apple”,“pear”,“banana”,显示输出排序结果。
要求:
(1)编译调试程序之前应配置好环境变量;
(2)要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序;
(3)注意Java两大类程序:
应用程序和小程序的区别。
程序清单:
(建议程序中适当添加注释信息,增强可读性;
较长程序可分栏书写,保证报告排版整洁美观。
)
(1)主方法传递参数“Helloworld”字符串,并输出
publicclassHello{
publicHello(){
System.out.println("
HelloWorld!
publicstaticvoidmain(Stringargs[]){
newHello();
(2)Eclipse编译JavaApplet
import
publicclassHelloAppletextendsApplet{
intheight,width;
publicvoidinit(){
this.height=100;
this.width=300;
publicvoidpaint(Graphicsg){
g.setColor(Color.red);
g.drawString("
20,20);
(3)
packageb;
publicclassTest{
intscore;
//chargrade;
请输入分数按回车"
Scannerreader=newScanner(System.in);
score=reader.nextInt();
if(score>
=90&
&
score<
=100){
System.out.println("
A"
}
elseif(score>
=70&
=89){
B"
=60&
=69){
C"
elseif(score<
60){
D"
else{
数据错误"
(4)
publicclassLim{
publicstaticvoidmain(String[]args){
int[]prime=calculation(20,200,300);
for(inti=0;
i<
prime.length;
i++){
if(prime[i]!
=0){
if(i%10==0&
i!
=0)
System.out.println();
System.out.print(prime[i]+"
"
//打印数据
}
publicstaticint[]calculation(intlength,intstart,intend){
intj;
intstep=0;
int[]prime=newint[length];
for(inti=start;
=end;
i++)
{
j=2;
while(i%j!
j++;
if(j==i)
{
prime[step]=i;
step++;
returnprime;
(5)
publicclassshuzu{
inti,j;
intarr[][]=newint[4][];
for(i=0;
i<
arr.length;
i++)
arr[i]=newint[arr.length];
for(i=0;
4;
for(j=3;
j>
=i;
j--){
arr[i][j]=i;
for(j=0;
j<
j++){
for(i=3;
i>
=j;
i--){
arr[i][j]=j;
=3;
i++){
for(j=0;
System.out.print(arr[i][j]);
System.out.print("
System.out.println();
publicclassShuzu{
publicstaticvoidmain(Stringargs[]){
intnum[][]=newint[4][];
for(inti=0;
num.length;
num[i]=newint[2*i+1];
for(intm=0;
m<
num.length-i;
m++){
System.out.print("
intk=i+1;
for(intj=0;
num[i].length;
if(j<
=i)
num[i][j]=j+1;
else{
k--;
num[i][j]=k;
System.out.print(num[i][j]+"
System.out.println();
}
(6)
publicclasstest{
//TODOAuto-generatedmethodstub
int[][]mat={{11,12,13},{4,5,6},{7,8,9}};
for(inti=0;
mat.length;
i++)//输出二维数组元素
mat[i].length;
j++)
System.out.print(mat[i][j]+"
booleanfind=false;
//找到鞍点标记
introw=0;
//第1行下标
intmax=0;
//记录当前行最大值的列下标
while(!
find&
row<
mat.length)
max=0;
//初始设每行第1列值最大
for(intj=1;
mat[row].length;
j++)//在row行上找最大值
if(mat[row][j]>
mat[row][max])//mat[row][max]为该行最大值
max=j;
booleanyes=true;
//再判断mat[row][max]是否在列上最小
intj=0;
while(yes&
j<
if(mat[j][max]<
mat[row][max])
yes=false;
j++;
if(yes)
find=true;
else
row++;
if(find)
Thedort:
+mat[row][max]);
null"
(8)import
publicclassHuiWenTest{
请输入一个字符串"
@SuppressWarnings("
resource"
Scannerinput=newScanner(System.in);
Stringstr=input.next();
StringBuildersb=newStringBuilder(str);
sb.reverse();
//将Sr倒置的方法
StringnewStr=newString(sb);
if(str.equals(newStr)){
System.out.println(str+"
是回文字符串"
}else{
不是回文字符串"
(9)importjava.util.*;
publicclassSortString{
String[]a={"
melon"
"
apple"
pear"
banana"
};
String[]b=Arrays.copyOf(a,a.length);
System.out.println("
使用用户编写的SortString类,按字典序排列数组a:
SortString.sort(a);
排序结果是:
for(Strings:
a){
System.out.print("
+s);
使用类库中的Arrays类,按字典序排列数组b:
Arrays.sort(b);
b){
四、实验结果与分析(程序运行结果及其分析)
(1)
(2)
(7)
(8)
(9)
五、实验体会(遇到问题及解决办法,编程后的心得体会)
在这次实验中,我知道了eclipse和jdk运行程序的区别,jdk比较麻烦一些,需要配置变量。
在实验中,配置jdk的环境变量要注意它的path和classpath,如果classpath本身就有,可以在后面加分号,这样不影响其它的classpath的使用。
学会了如何生成注释文档,主函数传递参数的方法,还有压缩文件,实验中还对数组的创建和使用进行了练习,还有一些类的应用。
面向对象编程实验学时:
8
实验2面向对象编程
(1)熟练掌握Java语言类定义的基本语法;
(2)熟练掌握类成员的访问控制,对象建立的方法;
(3)熟练掌握类构造方法、成员方法的定义和重载;
(4)熟练掌握类继承、多态和抽象性;
(5)熟练掌握接口的定义和实现方法;
(6)掌握基本的异常处理方法;
(7)调试程序要记录调试过程中出现的问题及解决办法;
(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;
(1)定义一个Man类,保存在Man.java文件中,类中包含说话方法如下:
publicclassMan
publicvoidsay()
“我是中国人!
”);
publicclassChina
publicstaticvoidmain(String[]args)
Manlihua=newMan();
lihua.say();
在China类中引用Man类,输出显示“我是中国人!
”。
试着去掉Man类的public修饰,看看会发生什么情况?
(2)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、字符串描述、比较是否相等等操作。
(3)包的建立与使用:
设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。
观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。
编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。
(4)试编码实现简单的银行业务:
处理简单帐户存取款、查询。
编写银行帐户类BankAccount,包含数据成员:
余额(balance)、利率(interest);
操作方法:
查询余额、存款、取款、查询利率、设置利率。
再编写主类UseAccount,包含main()方法,创建BankAccount类的对象,并完成相应操作。
(5)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。
根据上述要求,请完成以下Java类的设计:
1)设计一个基类Student描述学生的共同特征。
2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。
3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。
(6)设计三角形类,继承图形抽象类,计算三角形面积和周长。
(7)试编码实现多态在工资系统中的应用:
给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。
Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。
该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。
在主测试类Test中测试各类雇员工资计算结果。
提示:
对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派生出的。
在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。
为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。
在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。
程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。
Employee类定义如下:
abstractclassEmployee
privateStringfirstName;
privateStringlastName;
publicEmployee(Stringfirst,Stringlast)
firstName=first;
lastName=last;
publicStringgetEmployeeName()
returnfirstName;
publicStringgetLastName()
returnlastName;
publicStringtoString()
returnfirstName+lastName;
publicabstractStringearnings();
(8)设计圆柱体类和圆椎体类,继承圆类Circle并实现体积接口Volume,计算表面积和体积。
(9)定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验 报告