JAVA实验报告-面向对象程序设计Word格式.docx

上传人:聆听****声音 文档编号:3694330 上传时间:2023-05-02 格式:DOCX 页数:49 大小:266.60KB
下载 相关 举报
JAVA实验报告-面向对象程序设计Word格式.docx_第1页
第1页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第2页
第2页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第3页
第3页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第4页
第4页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第5页
第5页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第6页
第6页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第7页
第7页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第8页
第8页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第9页
第9页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第10页
第10页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第11页
第11页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第12页
第12页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第13页
第13页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第14页
第14页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第15页
第15页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第16页
第16页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第17页
第17页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第18页
第18页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第19页
第19页 / 共49页
JAVA实验报告-面向对象程序设计Word格式.docx_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA实验报告-面向对象程序设计Word格式.docx

《JAVA实验报告-面向对象程序设计Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告-面向对象程序设计Word格式.docx(49页珍藏版)》请在冰点文库上搜索。

JAVA实验报告-面向对象程序设计Word格式.docx

(1)熟练掌握JDK1.6及Eclipse4.2编写调试Java应用程序及Java小程序的方法;

(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[])

System.out.println("

Hello!

"

);

}

(2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该

Applet。

压缩生成"

.jar"

文件。

记录操作过程。

importjava.awt.*;

importjava.applet.Applet;

publicclassHelloAppletextendsApplet

publicvoidpaint(Graphicsg)

g.setColor(Color.red);

g.drawString("

20,20);

<

html>

appletcode="

HelloApplet.class"

height=100 width=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

1

2

3

②n=4

2 1

4

3 2 1

(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;

s1equalss2="

+result121);

System.out.println("

s1==s2="

+result122);

s1equalss3="

+result131);

s1==s3="

+result132);

s1equalss4="

+result141);

s1==s4="

+result142);

s1equalss5="

+result151);

s1==s5="

+result152);

(8)判断回文字符串

回文是一种“从前向后读”和“从后向前读”都相同的字符串。

如“rotor”是一个回文字符串。

程序中使用了两种算法来判断回文字符串:

算法一:

分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较

ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:

否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。

算法二:

将原串str反转成temp串,再比较两串,如果相等则是回文字符串。

(9)使用String类的compareTo(String s)方法,对以下字符串从小到大排序:

“melon”,“apple”,“pear”,“banana”,显示输出排序结果。

要求:

(1)编译调试程序之前应配置好环境变量;

(2)要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序;

(3)注意Java两大类程序:

应用程序和小程序的区别。

程序清单:

(建议程序中适当添加注释信息,增强可读性;

较长程序可分栏书写,保证报告排版整洁美观。

(1)主方法传递参数“Helloworld”字符串,并输出

publicclassHello{publicHello(){

HelloWorld!

publicstaticvoidmain(Stringargs[]){newHello();

(2)Eclipse编译JavaApplet

publicclassHelloAppletextendsApplet{intheight,width;

publicvoidinit(){

this.height=100;

this.width=300;

publicvoidpaint(Graphicsg){g.setColor(Color.red);

20,20);

(3)

packageb;

importjava.util.Scanner;

publicclassTest{

publicstaticvoidmain(Stringargs[]){intscore;

//chargrade;

请输入分数按回车"

Scannerreader=newScanner(System.in);

score=reader.nextInt();

if(score>

=90&

&

score<

=100){

A"

elseif(score>

=70&

=89){System.out.println("

B"

=60&

=69){System.out.println("

C"

elseif(score<

60){System.out.println("

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!

=0){j++;

if(j==i)

prime[step]=i;

step++;

returnprime;

(5)

①publicclassshuzu{

publicstaticvoidmain(Stringargs[]){inti,j;

intarr[][]=newint[4][];

for(i=0;

i<

arr.length;

i++)

arr[i]=newint[arr.length];

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;

for(i=0;

=3;

i++){for(j=0;

j++){

System.out.print(arr[i][j]);

System.out.print("

"

System.out.println();

②publicclassShuzu{

publicstaticvoidmain(Stringargs[]){intnum[][]=newint[4][];

for(inti=0;

num.length;

i++){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;

j++){if(j<

=i)

num[i][j]=j+1;

else{

k--;

num[i][j]=k;

System.out.print(num[i][j]+"

}(6)

publicclasstest{

publicstaticvoidmain(String[]args){

//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]+"

System.out.println();

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)importjava.util.Scanner;

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);

使用用户编写的SortString类,按字典序排

列数组a:

SortString.sort(a);

排序结果是:

for(Strings:

a){

+s);

b:

}

使用类库中的Arrays类,按字典序排列数组

Arrays.sort(b);

b){

四、实验结果与分析(程序运行结果及其分析)

(1)

(2)

(6)

(7)

(8)

(9)

五、实验体会(遇到问题及解决办法,编程后的心得体会)

在这次实验中,我知道了eclipse和jdk运行程序的区别,jdk比较麻烦一些,需要配置变量。

在实验中,配置jdk的环境变量要注意它的path和classpath,如果classpath本身就有,可以在后面加分号,这样不影响其它的classpath的使用。

学会了如何生成注释文档,主函数传递参数的方法,还有压缩文件,实验中还对数组的创建和使用进行了练习,还有一些类的应用。

面向对象编程实验学时:

8

工科楼A101

17.4.11~17.5.2 实验成绩:

实验2面向对象编程

(1)熟练掌握Java语言类定义的基本语法;

(2)熟练掌握类成员的访问控制,对象建立的方法;

(3)熟练掌握类构造方法、成员方法的定义和重载;

(4)熟练掌握类继承、多态和抽象性;

(5)熟练掌握接口的定义和实现方法;

(6)掌握基本的异常处理方法;

(1)定义一个Man类,保存在Man.java文件中,类中包含说话方法如下:

publicclassMan

publicvoidsay()

System.out.println(“我是中国人!

”);

为此类打包为cn.edu.jit.chinese;

再在Man.java文件所在路径下,创建一个

China.java文件,其中定义China类如下:

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()为抽象方法

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2