2023年Java程序设计实验报告_第1页
2023年Java程序设计实验报告_第2页
2023年Java程序设计实验报告_第3页
2023年Java程序设计实验报告_第4页
2023年Java程序设计实验报告_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

金陵科战学院

考安实龄兼告

(理工类)

课程名称:JAVA程序设计专业班级:13电子信息工程⑵

学生学号:学生姓名:许伟铭

所属院部:软件工程学院指导教师:王倩倩

2015——2016学年第2学期

金陵科技学院教务处制

实验报告书写规定

实验报告原则上规定学生手写,规定书写工整。若因课程特点需

打印的,要遵照以下字体、字号、间距等的具体规定。纸张一律采用

A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,涉及实验目的和规定;实验

仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科

特点和实验具体规定增长项目。

填写注意事项

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

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

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

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

(5)应独立完毕实验报告的书写,严禁抄袭、复印,一经发现,

以零分论处。

实验报告批改说明

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

报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订规定

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报

告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课

程的实验大纲。

,实睑项目名■称:JAVA编程基础实验学时:--------£---------

同组学生姓名:—实验地点:1514/A2"一

实验FI期:2023.04.08实验成绩:-----------------

批改教师:王倩倩_________批改时间:-------------------

一、实验目的和规定

(1)纯熟掌握JDK1.7及Ec1ipseKeplerServiceRelease1(下

简称Eclipse)编写调试Java应用程序及Java小程序的方法;

(2)纯熟掌握Java应用程序的结构;

(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;

(4)纯熟掌握常见数据类型的使用;

(5)纯熟掌握if—e1se、switch>while,do-whi1e、for、cont

inue、break>return语句的使用方法;

(6)纯熟掌握数组和字符串的使用;

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

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

经验;

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

二'实验仪器和设备

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

三、实验过程

(1)分别使用JDK命令行和Ec1ipse编译运营Java应用程序。记录操作过程。

Java应用程序参考如下:

publicclassHello

(

publicstaticvoidmain(Stringargs[])

{

System.out.println(MHello!**);

)

)

思考:1.适当添加注释信息,通过javadoc生成注释文档;

2.为主方法传递参数“Hellow。rid”字符串,并输出;

3.压缩生成”.jar"文献。

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

营该Applet。记录操作过程。

Java小应用程序参考如下:

importjava.awt.

importjava.applet.Applet;

publicclassHelloApoletextendsApplet

(

publicvoidpaint(Graphicsg)

{

g.setColor(Color.red);

g.drawString(*Hello!”,20,20);

}

)

HTML文档参考如下:

<htm1>

<appletcode=/,Hel1oApplet.class〃height=100width=300>

</app1et>

</htm1>

(3)输出下列数字形式。

①n二4

0000

0111

0122

0123

②n=4

121

12321

1234321

(4)采用数组输出等腰三角形的杨辉三角。

(5)判断回文字符串

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

文字符串。

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

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

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

继续比较,直到字符所有比较完,yes的值仍为true,才干肯定str是回文串。

算法二:将原串str反转成temp串,再比较两串,假如相等则是因文字符串。

规定:

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

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

(3)注意Java两大类程序:应用程序和小程序的区别。

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美

观。)

(实验一程序清单续1)

(3)©publicclassshuxing{

。publicstaticvoidmain(String[]args){

intn=4;

ofor(inti=0;i<n;i++)

6{

for(intj=0;j<n;j++)

°{

。System.out.print(""+((i<j)?i:j));

0。0}

oSystem.out.print1n();

}

}

}

©publicclassshuxingtower{

publicstaticvoidmain(String[]args){

。intn=4;

sfor(inti=0;i<=n;i++)

{

3for(intj=l;j<=n-i;j++)

。。System.ou/,.print("");

,for(intj=l;j<=i;j++)

System.ou.print(""+j);

ofor(intj=i-1;j>0;j--)

。。。System.out.print(""+j);

System.out.print1n();

)

0}

}

(4)publicclassyanghui{

pub1icstaticvoidmain(String[]args)

o。int[][]a=newint[5][5];

aofor(inti=0;i<5;i++)

0{

oa[i][0]=1;

。6a[i]Ei]=1;

0)

。for(inti=2;i<5;i++)

30{

for(intj=1;j<i;j++)

…a[i][j]=a[i-1][j-1]+a[i-l][j];

)

◎for(inti=0;i<5;i++)

°(

。for(intk=0;k<=5-i;k++)

°{

。System.oi/t.print("");

o)

。for(intj=0;j<=i;j++)

06{

。aSystem.out,print(a[i][j]+"");

00}

。System.out.println();

00}

}

}

(5)publicclasspalindrome{

®publicstaticvoidmain(String[]args){

oStringstr=urotor";

sinti=0;

。intn=str.1ength();

booleanyes=true;

System.out.println("str="+str);

。charchi,ch2;

while(yes&&(i<n/2))

°{

。ch1=str.charAt(i);

J0ch2=str.charAt(n-i—1);

oif(chl==ch2)i++;

oooeIseyes=fa1se;

3System.out.println("算法1:"+yes);

Stringtemp=""?sub="";

ofor(i=0;i<n;i++)

{

osub=str.substring(i,i+1);

。temp=sub+temp;

)

oSystem.out.println("temp="+temp);

System.out.println(“算法2:"+str.equa1s(temp));

0)

}

四、实验结果与分析

管理员

SBC:\Windows\system32\cmd.exeProblems@Javadoc凰Declaration后Co

icrosoftWindows[版本6.1.7600]

〈terminated〉hello[JavaApplication]C:\Prograrr

员权所有〈c〉2009MicrosoftCorporation0保留所有权利。

hello!

:MisersMldninistrator>cdDesktop

C:Misers\Adninistrator\Desktop>javachello.jaua

:Misers\fldninistrator\Desktop>javahello

ello?

MisersM)dninistrator\Desktop>-WritableSm

.小后库吉翁:HelloApplet.cl.」0I回

Applet

Hellol

小程序已启动。

(3)①0000②

0111

121

0122

12321

01231234321

⑷1

11

121

1331

14641

(5)str=rotor

莫法1:true

temp=rotor

莫法2:true

实验项目名称:一面向对象编程实验学时.

同组学生姓名:—=------实验地点.

实验日期:---------------实验成绩:

批改教师:----------------------批改时间:

一、实验目的和规定

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

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

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

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

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

(6)掌握基本的异常解决方法;

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

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

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

二'实验仪器和设备

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

三、实验过程

(1)设计复数类,成员变量涉及实部和虚部,成员方法涉及实现复数加法、减法、字

符串描述、比较是否相等等操作。

(2)设计三角形类,继承图形抽象类,实现面积接口和周长接口,计算三角形面积和

周长。

(3)包的建立与使用:设计计算器类Calculator,计算加、减、乘、除,并且打包

为mypackage。观测源文献目录下是否生成了mypackage文献夹,在该文献夹中是

否有Calculate,c1ass文献。编辑PackageDemo.java,保存在CaIculator.

java同一目录下,引用计算器类的各方法显示计算结果。

(4)编码实现多态在工资系统中的应用:给出一个根据雇员类型运用abstract方法和

多态性完毕工资单计算的程序。Employee是抽象类,Employee的子类有Boss(每星期

发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销

售额发放浮动工资)、Piece\Vorker(按其生产的产品数发放工资)、HourlyWorke

r(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,

由于不需要再继承它们生成子类。在主测试类Test中测试各类雇员工资计算结果。

提酉星:对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类

计算,所有雇员类都是从超类Employee派出生的。在超类中声明earnings。为抽象

方法,并且对于每个子类都提供恰当的earningsO的实现方法。为了计算雇员的工资,

程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。在一个实际的工资

系统中,各种Emp1。yee对象的引用可以通过一个Emp1oyee引用数组来实现。程序

依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。

Employee类定义如下:

abstractclassEmp1oyee

{

privateStringfirstName;

privateString1astName;

publicEmployee(Stringfirst,Stringlast)

(

firstName=first;

lastName二1ast;

)

publicStringgetEmp1oyeeName()

(

returnfirstName;

}

pub1icStringgetLastName()

(

returnlastName;

)

pub1icStringtoStringO

returnfirstName+1astName;

}

pub1icabstractStringearnings();

)

(5)异常的捕获:计算两数相除并输出结果。使用三个catch子句,分别捕获输入输出异常、

除数为0的异常和参数输入有误异常。

importjava.io.*;

classEx1

(

publicstaticvoidmain(Stringargs[1)

(

try(

BufferedReaderstrin二newBufferedReader(

newInputStreamReader(System.in));//建立输入流缓冲区

System.out.print(n请输入除数:〃);

Stringc1=strin.readLine();〃键盘输入

inta=Integer.parseInt(cl);

System.out.print(M请输入被除数:”);

c1=strin.readLine();

intb=Integer.parseInt(cl);

intc=b/a;

System.out.println(〃商为:〃+c);

)

〃捕获与I/O有关的异常(空白处补全捕获语句)

〃捕获数值转化时的异常,如不能将字符转化成数值

〃捕获除数为0的异常

)

)

编译并运营,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提醒

除数为0,并规定重新输入;当输入的不是整数时,如将30输成了3。,出现数值格式异常,

提醒输入整数。

思考:是否尚有其他异常需要捕获解决?

(6)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除

数显示商值。

规定:

(1)注意选用适当的类成员修饰符(private、protected、public等),比较它们的

使用情况;

(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,

包的命名方式如two.numl表达实验二的第一题;

(3)学会使用Eelipse的各种调试方法;

(4)学会查阅JavaAPI文档,如查找异常类的使用方法。

程序清单:

(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美

观。)

(实验二程序清单续1)

(实验二程序清单续2)

四、实验结果与分析

实验项目名称:图形用户界面实验学时1---------------------------------------------------------------------------

同组学生姓名:—―实验地点:-------------

实验日期:实验成绩:---------

批改教师:批改时间■--------

一、实验目的和规定

(1)掌握Swing组件的使用方法;

(2)纯熟掌握Swing中常用布局管理器的使用方法;

(3)掌握用户界面动作与事件的解决程序的编写方法;

(4)纯熟掌握构造用户界面的方法和常见界面元素的使用;

(5)纯熟掌握Java绘图的重要方法。

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

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

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

二'实验仪器和设备

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

三'实验过程

1.。计算器设计

2.。模拟裁判评分。

设计如图所示图形界面,显示n个裁判的评分,根据制定规则计算出最后得分。规定:图形界

面采用表格显示裁判评分,随裁判人数变化而变化;指定分数范围,若超过,则异常解决;得分

规则有指定接口约定,由多个接口对象给出多种得分规则,如求平均数值,或去掉一个最高分

和一个最低分后,再求平均值。

1口回园

平均分5.50

3.编译运营下例,然后修改程序,当使用鼠标单击后在另一位置重新绘制月亮。

【例】在Applet中画月亮。

importjava.awt.*;

importjava,app1et.Appiet;

pub1icclassMoonApp1etextendsApplet

(

pub1icvoidpaint(Graphiesg)//在Appiet上绘图

(

g.setColor(Color.red);

g.drawString("TheMoon”,100,20);

intx=0,y=0;〃圆外切矩形左上角坐标

x=this.getWidth()/4;

y=this.getHeight()/4;

intdiameter=Math,min(this.getWidth()/2,this.getHe

ight()/2);//圆的直径

g.setColor(Co1or.yellow);

g.fil10va1(x,y,diameter,diameter);〃画圆

g.setColor(this,getBackground());//设立为背景色

g.fi110va1(x-20,y-20,diameter,diameter);//画圆

)

4.根据阿基米德螺线的极坐标方程:r=a0画出相应图形。

规定:

(1)注意选用适当的布局管理器设计图形用户界面,比较它们的布局情况;

(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的

命名方式如three.num1表达实验三的第一题;

(3)学会使用Eclipse的各种调试方法;

(4)学会查阅JavaAPI文档,如查找事件类的解决里方法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论