JAVA实验报告.docx

上传人:b****5 文档编号:11886836 上传时间:2023-04-08 格式:DOCX 页数:45 大小:39.57KB
下载 相关 举报
JAVA实验报告.docx_第1页
第1页 / 共45页
JAVA实验报告.docx_第2页
第2页 / 共45页
JAVA实验报告.docx_第3页
第3页 / 共45页
JAVA实验报告.docx_第4页
第4页 / 共45页
JAVA实验报告.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

JAVA实验报告.docx

《JAVA实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告.docx(45页珍藏版)》请在冰豆网上搜索。

JAVA实验报告.docx

JAVA实验报告

学生实验报告册

(理工类)

课程名称:

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

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

学生学号:

学生姓名:

张义丹

所属院部:

计算机工程指导教师:

刘晶

2016——2017学年第2学期

金陵科技学院教务处制

实验报告书写要求

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

实验报告书写说明

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

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

填写注意事项

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

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

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

 

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

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

实验报告批改说明

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

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

实验项目名称:

Java编程基础实验学时:

6

同组学生姓名:

————实验地点:

工科楼A101

实验日期:

实验成绩:

批改教师:

刘晶批改时间:

实验1Java编程基础

一、实验目的和要求

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

{

}

}

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

压缩生成".jar"文件。

记录操作过程。

importjava.awt.*;

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

0000

0111

0122

0123

②n=4

1

121

12321

1234321

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

}

}

(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

importjava.awt.*;

import

publicclassHelloAppletextendsApplet{

intheight,width;

publicvoidinit(){

this.height=100;

this.width=300;

}

publicvoidpaint(Graphicsg){

g.setColor(Color.red);

g.drawString("Hello!

",20,20);

}

}

(3)

packageb;

import

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

num[i]=newint[2*i+1];

for(intm=0;m

System.out.print("");

}

intk=i+1;

for(intj=0;j

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{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

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

for(inti=0;i

{

for(intj=0;j

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

System.out.println();

}

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

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

}

System.out.println("");

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

");

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

实验日期:

实验成绩:

批改教师:

刘晶批改时间:

实验2面向对象编程

一、实验目的和要求

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

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

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

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

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

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

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

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

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

二、实验仪器和设备

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

三、实验过程

(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)定

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

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1