《互联网软件开发JAVA》课程实验指导书.docx

上传人:b****6 文档编号:7922394 上传时间:2023-01-27 格式:DOCX 页数:48 大小:2.36MB
下载 相关 举报
《互联网软件开发JAVA》课程实验指导书.docx_第1页
第1页 / 共48页
《互联网软件开发JAVA》课程实验指导书.docx_第2页
第2页 / 共48页
《互联网软件开发JAVA》课程实验指导书.docx_第3页
第3页 / 共48页
《互联网软件开发JAVA》课程实验指导书.docx_第4页
第4页 / 共48页
《互联网软件开发JAVA》课程实验指导书.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

《互联网软件开发JAVA》课程实验指导书.docx

《《互联网软件开发JAVA》课程实验指导书.docx》由会员分享,可在线阅读,更多相关《《互联网软件开发JAVA》课程实验指导书.docx(48页珍藏版)》请在冰豆网上搜索。

《互联网软件开发JAVA》课程实验指导书.docx

《互联网软件开发JAVA》课程实验指导书

 

《互联网软件开发(JAVA)》

实 验 指 导 书

 

林亚明  编写

 

 

 

 

适用专业:

软件工程、

计算机科学与技术

 

                                                

闽江学院_计算机系

2012年  2 月

前  言

 

 本课程讲授JAVA语法,JAVA的面向对象技术,创建图形用户界面(GUI),异常处理,文件输入/输出(I/O),线程和网络编程等。

为使学生进一步深刻理解JAVA语言基本概念、语法规则及程序结构,熟练掌握JAVA语言程序设计的基本方法,提高利用JAVA在网络环境下开发、设计应用程序的能力,进一步培养学生的创新能力和解决实际问题的能力。

本课程设置了七个实验项目,都为必做项目。

指导书中的7个实验题目见目录,其中实验七java数据库编程设定为综合性实验项目。

本实验指导书适合计算机科学与技术、软件工程本科专业使用。

目录

 

实验一开发环境熟悉

实验二基本数据类型与控制语句

实验三类与对象

实验四多线程与输入输出流

实验五图形界面编程

实验六Java中的网络编程

实验七java数据库编程

实验一开发环境熟悉

实验学时:

2学时

实验类型:

演示

实验要求:

必做

一、实验目的

掌握开发Java应用程序的3个步骤:

编写源文件、编译源文件和运行应用程序。

二、实验内容

1.新建项目myfirstProject,新建一个类Hello.java,输入以下代码,并将空缺的功能补上(代码1和代码2处)。

2.联合编译

新建项目myfirstProject,新建三个类,Hello.java,A.java,B.java,代码如下:

并将空缺的功能补上。

3.对第二道题目的程序执行单步调试,从而掌握调试基本功能。

三、实验原理、方法和手段

参考案例、课件和教材相关内容。

上机操作

四、实验组织运行要求

集中授课

五、实验条件

软件配置:

WindowsXPProfessional、IE5.5以上、eclipse开发环境

硬件配置:

CPUP42.0G以上、内存512MB以上

六、实验步骤

七、思考题

(1)编译器怎样提示丢失大括号的错误?

(2)编译器怎样提示语句丢失分号的错误?

(3)编译器怎样提示将System写成system这一错误?

(4)编译器怎样提示将String写成string这一错误?

八、实验报告

要求实验报告的内容包括实验目的、实验设备、实验内容、实验结果、思考题五个部分。

九、其它说明

实验二基本数据类型与控制语句

实验学时:

2学时

实验类型:

验证

实验要求:

必做

一、实验目的

掌握char型数据和int型数据之间的互相转换,同时了解unicode字符表。

二、实验内容

1.编写一个java程序,该程序在命令行窗口输出希腊字母表

GreekAlphabet.java

publicclassGreekAlphabet

{

publicstaticvoidmain(Stringargs[])

{

intstartPosition=0,endPosition=0;

charcStart='α',cEnd='ω';

【代码1】//cStart做int型转换据运算,并将结果赋值给startPosition。

【代码2】//cEnd做int型转换运算,并将结果赋值给endPosition。

System.out.println("希腊字母\'α\'在unicode表中的顺序位置:

"+(int)cStart);

System.out.println("希腊字母表:

");

for(inti=startPosition;i<=endPosition;i++)

{

charc='\0';

【代码3】//i做char型转换运算,并将结果赋值给c。

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

}

}

}

2.编写一个java程序,用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数十否是回文数。

回文数是指该数含有的数字逆序排列后得到的数与原数相同,例如:

12121,3223都是回文数。

请按模板将[代码]替换为java程序代码。

Number.java

importjavax.swing.JOptionPane;

publicclassNumber

{

publicstaticvoidmain(Stringargs[])

{

intnumber=0,d5,d4,d3,d2,d1;

Stringstr=JOptionPane.showInputDialog("输入一个1至99999之间的数");

number=Integer.parseInt(str);

if(【代码1】)//判断number在1至99999之间的条件。

{

【代码2】//计算number的最高位(万位)d5。

【代码3】//计算number的千位d4。

【代码4】//计算number的百位d3。

d2=number%100/10;

d1=number%10;

if(【代码5】)//判断number是5位数的条件。

{

System.out.println(number+"是5位数");

if(【代码6】)//判断number是回文数的条件。

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(【代码7】)//判断number是4位数的条件。

{

System.out.println(number+"是4位数");

if(【代码8】)//判断number是回文数的条件码。

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(【代码9】)//判断number是3位数的条件。

{

System.out.println(number+"是3位数");

if(【代码10】)//判断number是回文数的条件。

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d2!

=0)

{

System.out.println(number+"是2位数");

if(d1==d2)

{

System.out.println(number+"是回文数");

}

else

{

System.out.println(number+"不是回文数");

}

}

elseif(d1!

=0)

{

System.out.println(number+"是1位数");

System.out.println(number+"是回文数");

}

}

else

{

System.out.println(number+"不在1至99999之间");

}

}

}

3.编写一个java应用程序,实现以下功能:

(1)程序随机分配给客户一个1-100之间的整数。

(2)用户在输入对话框中输入自己的猜测。

(3)程序返回提示信息,提示信息分别是:

“猜大了”、“猜小了”、和“猜对了”。

(4)用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了”。

请按模板将[代码]替换为java程序代码。

GuessNumber.java

importjavax.swing.JOptionPane;

publicclassGuessNumber

{

publicstaticvoidmain(Stringargs[])

{

System.out.println("给你一个1至100之间的整数,请猜测这个数");

intrealNumber=(int)(Math.random()*100)+1;

intyourGuess=0;

Stringstr=JOptionPane.showInputDialog("输入您的猜测:

");

yourGuess=Integer.parseInt(str);

while(【代码1】)//循环条件。

{

if(【代码2】)//条件代码。

{

str=JOptionPane.showInputDialog("猜大了,在再输入你的猜测:

");

yourGuess=Integer.parseInt(str);

}

elseif(【代码3】)//条件代码。

{

str=JOptionPane.showInputDialog("猜小了,在再输入你的猜测:

");

yourGuess=Integer.parseInt(str);

}

}

System.out.println("猜对了!

");

}

}

三、实验原理、方法和手段

四、实验组织运行要求

集中授课

五、实验条件

软件配置:

WindowsXPProfessional、IE5.5以上、eclipse开发环境

硬件配置:

CPUP42.0G以上、内存512MB以上

六、实验步骤

七、思考题

八、实验报告

要求实验报告的内容包括实验目的、实验设备、实验内容、实验结果、思考题五个部分。

九、其它说明

 

实验三类与对象

实验学时:

2学时

实验类型:

验证

实验要求:

必做

一、实验目的

使用类来封装对象的属性和功能;掌握类变量和实例变量,以及类方法和实例方法的区别。

二、实验内容

1.

程序模板

AreaAndLength.java

classTrangle

{

doublesideA,sideB,sideC,area,length;

booleanboo;

publicTrangle(doublea,doubleb,doublec)

{

【代码1】//参数a,b,c分别赋值给sideA,sideB,sideC。

if(【代码2】)//a,b,c构成三角形的条件表达式。

{

【代码3】//给boo赋值。

}

else

{

【代码4】//给boo赋值。

}

}

doublegetLength()

{

【代码5】//方法体,要求计算出length的值并返回。

}

publicdoublegetArea()

{

if(boo)

{

doublep=(sideA+sideB+sideC)/2.0;

area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));

returnarea;

}

else

{

System.out.println("不是一个三角形,不能计算面积");

return0;

}

}

publicvoidsetABC(doublea,doubleb,doublec)

{

【代码6】//参数a,b,c分别赋值给sideA,sideB,sideC。

if(【代码7】)//a,b,c构成三角形的条件表达式。

{

【代码8】//给boo赋值。

}

else

{

【代码9】//给boo赋值。

}

}

}

classLader

{

doubleabove,bottom,height,area;

Lader(doublea,doubleb,doubleh)

{

【代码10】//方法体。

}

doublegetArea()

{

【代码11】//方法体,,要求计算出area返回。

}

}

classCircle

{

doubleradius,area;

Circle(doubler)

{

【代码12】//方法体。

}

doublegetArea()

{

【代码13】//方法体,要求计算出area返回。

}

doublegetLength()

{

【代码14】//方法体,要求计算出length返回。

}

voidsetRadius(doublenewRadius)

{

radius=newRadius;

}

doublegetRadius()

{

returnradius;

}

}

publicclassAreaAndLength

{

publicstaticvoidmain(Stringargs[])

{

doublelength,area;

Circlecircle=null;

Trangletrangle;

Laderlader;

【代码15】//创建对象circle。

【代码16】//创建对象trangle。

【代码17】//创建对象lader。

【代码18】//circle调用方法返回周长并赋值给length。

System.out.println("圆的周长:

"+length);

【代码19】//circle调用方法返回面积并赋值给area。

System.out.println("圆的面积:

"+area);

【代码20】//trangle调用方法返回周长并赋值给length。

System.out.println("三角形的周长:

"+length);

【代码21】//trangle调用方法返回面积并赋值给area。

System.out.println("三角形的面积:

"+area);

【代码22】//lader调用方法返回面积并赋值给area。

System.out.println("梯形的面积:

"+area);

【代码23】//trangle调用方法返修改三个边的代码,要求将三个边修改为12,34,1。

【代码24】//trangle调用方法返回面积并赋值给area。

System.out.println("三角形的面积:

"+area);

【代码25】//trangle调用方法返回周长并赋值给length。

System.out.println("三角形的周长:

"+length);

}

}

2.

请按模板要求,将【代码】替换为Java程序代码

程序模板

Example.java

classA

{

【代码1】//声明一个float型实例变量:

a。

【代码2】//声明一个float型类变量:

b。

voidsetA(floata)

{

【代码3】//将参数a的值赋值给成员变量a。

}

voidsetB(floatb)

{

【代码4】//将参数b的值赋值给成员变量b。

}

floatgetA()

{

returna;

}

floatgetB()

{

returnb;

}

voidinputA()

{

System.out.println(a);

}

staticvoidinputB()

{

System.out.println(b);

}

}

publicclassExample

{

publicstaticvoidmain(Stringargs[])

{

【代码5】//通过类名操作类变量b,并赋值100。

【代码6】//通过类名调用方法inputB()。

Acat=newA();

Adog=newA();

【代码7】//cat象调用方法setA(inta)将cat的成员a的值设置为200。

【代码8】//cat调用方法setB(intb)将cat的成员b的值设置为400。

【代码9】//dog象调用方法setA(inta)将dog的成员a的值设置为200。

【代码10】//dog调用方法setB(intb)将dog的成员b的值设置为400。

【代码11】//cat调用inputA()。

【代码12】//cat调用inputB()。

【代码13】//dog调用inputA()。

【代码14】//dog调用inputB()。

}

}

3继承

程序模板

Example.java

classPeople

{

protecteddoubleweight,height;

publicvoidspeakHello()

{

System.out.println("yayawawa");

}

publicvoidaverageHeight()

{

height=173;

System.out.println("averageheight:

"+height);

}

publicvoidaverageWeight()

{

weight=70;

System.out.println("averageweight:

"+weight);

}

}

classChinaPeopleextendsPeople

{

【代码1】//重写publicvoidspeakHello()方法,要求输出类似“你好,吃了吗”这样的

//汉语信息。

【代码2】//重写publicvoidaverageHeight()方法,要求输出类似

//“中国人的平均身高:

168.78厘米”这样的汉语信息。

【代码3】//重写publicvoidaverageWeight()方法,

//要求输出类似“中国人的平均体重:

65公斤”这样的汉语信息。

publicvoidchinaGongfu()

{

【代码4】//输出中国武术的信息,例如:

"坐如钟,站如松,睡如弓"等。

}

}

classAmericanPeopleextendsPeople

{

【代码5】//重写publicvoidspeakHello()方法,要求输出类似

//“Howdoyoudo”这样的英语信息。

【代码6】//重写publicvoidaverageHeight()方法。

【代码7】//重写publicvoidaverageWeight()方法。

publicvoidamericanBoxing()

{

【代码8】//输出拳击的信息,例如,“直拳”、“钩拳”等。

}

}

classBeijingPeopleextendsChinaPeople

{

【代码9】//重写publicvoidspeakHello()方法,要求输出类似“您好”这样的汉语信息。

【代码10】//重写publicvoidaverageHeight()方法。

【代码11】//重写publicvoidaverageWeight()方法。

publicvoidbeijingOpera()

{

【代码12】//输出京剧的信息。

}

}

publicclassExample

{

publicstaticvoidmain(Stringargs[])

{

ChinaPeoplechinaPeople=newChinaPeople();

AmericanPeopleamericanPeople=newAmericanPeople();

BeijingPeoplebeijingPeople=newBeijingPeople();

chinaPeople.speakHello();

americanPeople.speakHello();

beijingPeople.speakHello();

chinaPeople.averageHeight();

americanPeople.averageHeight();

beijingPeople.averageHeight();

chinaPeople.averageWeight();

americanPeople.averageWeight();

beijingPeople.averageWeight();

chinaPeople.chinaGongfu();

americanPeople.americanBoxing();

beijingPeople.beijingOpera();

beijingPeople.chinaGongfu();

}

}

4上转型对象

程序模板

HardWork.java

abstractclassEmployee

{

publicabstractdoubleearnings();

}

classYearWorkerextendsEmployee

{

【代码1】//重写earnings()方法。

}

classMonthWorkerextendsEmployee

{

【代码2】//重写earnings()方法。

}

classWeekWorkerextendsEmployee

{

【代码3】//重写earnings()方法。

}

classCompany

{

Employee[]employee;

doublesalaries=0;

Company(Employee[]employee)

{

this.employee=employee;

}

publicdoublesalariesPay()

{

salaries=0;

【代码4】//计算salaries。

returnsalaries;

}

}

publicclassHardWork

{

publicstaticvoidmain(Stringargs[])

{

Employee[]employee=newEmployee[20];

for(inti=0;i

{

if(i%3==0)

employee[i]=newWeekWorker();

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

当前位置:首页 > 高等教育 > 工学

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

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