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

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

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

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

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

学生实验报告册

(理工类)

课程名称:

面向对象程序设计 专业班级:

16计算机科学与技术(专转

本)

学生学号:

1613203022 学生姓名:

张义丹

所属院部:

计算机工程 指导教师:

刘晶

2016——2017学年 第2学期

金陵科技学院教务处制

实验报告书写要求

实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。

教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:

Java编程基础实验学时:

6

同组学生姓名:

———— 实验地点:

工科楼A101

实验日期:

17.3.21~17.4.4 实验成绩:

批改教师:

刘晶 批改时间:

47

实验1 Java编程基础

一、实验目的和要求

(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("Hello!

",20,20);

}

}

(3)根据变量score中存放的考试分数,输出对应的等级。

要求从键盘输入学生成绩,

60分以下为D等;60~69为C等;70~89为B等;90~100为A等。

(4)编写一个JavaApplication程序,输出区间[200,300]上的所有素数,将其用数组prime[]保存,并以每10个一行的形式显示运行结果。

(5)输出下列数字形式,要求用二维数组完成。

①n=4

0

0

0

0

0

1

1

1

0

1

2

2

0

1

2

3

②n=4

1

1

2

1

1

2

3

2 1

1

2

3

4

3 2 1

(6)求二维数组的鞍点,即该位置上的元素在该行上最大,在列上最小。

也可能无鞍点。

(7)分析下列程序的输出结果,掌握equals()方法和“==”的区别。

classStringTest2{

publicstaticvoidmain(Stringargs[]){

Strings1="Thisisthesecondstring.";Strings2="Thisisthesecondstring.";

Strings3=newString("Thisisthesecondstring.");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;

System.out.println("s1equalss2="+result121);System.out.println("s1==s2="+result122);

System.out.println("s1equalss3="+result131);System.out.println("s1==s3="+result132);System.out.println("s1equalss4="+result141);System.out.println("s1==s4="+result142);System.out.println("s1equalss5="+result151);System.out.println("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(){

System.out.println("HelloWorld!

");

}

publicstaticvoidmain(Stringargs[]){newHello();

}

}

(2)Eclipse编译JavaApplet

importjava.awt.*;

importjava.applet.Applet;

publicclassHelloAppletextendsApplet{intheight,width;

publicvoidinit(){

this.height=100;this.width=300;

}

publicvoidpaint(Graphicsg){g.setColor(Color.red);g.drawString("Hello!

",20,20);

}

}

(3)

packageb;

importjava.util.Scanner;publicclassTest{

publicstaticvoidmain(Stringargs[]){intscore;

//chargrade;

System.out.println("请输入分数按回车");Scannerreader=newScanner(System.in);score=reader.nextInt();if(score>=90&&score<=100){

System.out.println("A");

}

elseif(score>=70&&score<=89){System.out.println("B");

}

elseif(score>=60&&score<=69){System.out.println("C");

}

elseif(score<60){System.out.println("D");

}

else{

System.out.println("数据错误");

}

}

}

(4)

publicclassLim{

publicstaticvoidmain(String[]args){int[]prime=calculation(20,200,300);for(inti=0;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;i<=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[i]=newint[arr.length];for(i=0;i<4;i++)

for(j=3;j>=i;j--){

arr[i][j]=i;

}

for(j=0;j<4;j++){for(i=3;i>=j;i--){

arr[i][j]=j;

}

}

for(i=0;i<=3;i++){for(j=0;j<=3;j++){

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

System.out.print("");

}

System.out.println();

}

}

}

②publicclassShuzu{

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

for(inti=0;i

for(intm=0;m

}

intk=i+1;

for(intj=0;j

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

k--;

num[i][j]=k;

}

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

}

System.out.println();

}

}

}(6)

publicclasstest{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

int[][]mat={{11,12,13},{4,5,6},{7,8,9}};

for(inti=0;i

{

for(intj=0;j

}

booleanfind=false;//找到鞍点标记introw=0;//第1行下标

intmax=0;//记录当前行最大值的列下标while(!

find&&row

{

max=0;//初始设每行第1列值最大

for(intj=1;j

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]

yes=false;j++;

}

if(yes)find=true;else

row++;

}

if(find)

System.out.println("Thedort:

"+mat[row][max]);else

System.out.println("Thedort:

null");

}

}

(8)importjava.util.Scanner;publicclassHuiWenTest{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

System.out.println("请输入一个字符串");@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{

System.out.println(str+"不是回文字符串");

}

}

}

(9)importjava.util.*;publicclassSortString{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

String[]a={"melon","apple","pear","banana"};String[]b=Arrays.copyOf(a,a.length);

System.out.println("使用用户编写的SortString类,按字典序排

列数组a:

");

SortString.sort(a);

System.out.println("排序结果是:

");for(Strings:

a){

System.out.print(" "+s);

b:

");

}

}

System.out.println("");

System.out.println("使用类库中的Arrays类,按字典序排列数组

Arrays.sort(b);

System.out.println("排序结果是:

");for(Strings:

b){

System.out.print(" "+s);

}

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

(1)

(2)

(3)

(4)

(5)

(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)掌握基本的异常处理方法;

(7)调试程序要记录调试过程中出现的问题及解决办法;

(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;

(9)做完实验后给出本实验的实验报告。

二、实验仪器和设备

奔腾以上计算机,Windows操作系统,装有JDK1.6和Eclipse4.2软件。

三、实验过程

(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