1、互联网软件开发JAVA课程实验指导书互联网软件开发(JAVA)实 验 指 导 书 林亚明 编 写适用专业: 软件工程、 计算机科学与技术 闽江学院_计算机系2012年2 月前 言本课程讲授JAVA语法,JAVA的面向对象技术,创建图形用户界面(GUI),异常处理,文件输入/输出(I/O),线程和网络编程等。为使学生进一步深刻理解JAVA语言基本概念、语法规则及程序结构,熟练掌握JAVA语言程序设计的基本方法,提高利用JAVA在网络环境下开发、设计应用程序的能力,进一步培养学生的创新能力和解决实际问题的能力。本课程设置了七个实验项目,都为必做项目。指导书中的7个实验题目见目录,其中实验七 jav
2、a数据库编程设定为综合性实验项目。本实验指导书适合计算机科学与技术、软件工程本科专业使用。目 录实验一 开发环境熟悉 实验二 基本数据类型与控制语句 实验三 类与对象 实验四 多线程与输入输出流 实验五 图形界面编程 实验六 Java 中的网络编程 实验七 java数据库编程 实验一 开发环境熟悉实验学时:2学时实验类型:演示 实验要求:必做一、实验目的 掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序。二、实验内容1. 新建项目myfirstProject,新建一个类Hello.java,输入以下代码,并将空缺的功能补上(代码1和代码2处)。 2. 联合编译新建项目m
3、yfirstProject,新建三个类,Hello.java,A.java,B.java,代码如下:并将空缺的功能补上。 3. 对第二道题目的程序执行单步调试,从而掌握调试基本功能。三、实验原理、方法和手段 参考案例、课件和教材相关内容。上机操作四、实验组织运行要求 集中授课五、实验条件软件配置:Windows XP Professional、IE5.5以上、eclipse开发环境硬件配置:CPU P4 2.0G以上、内存 512MB以上六、实验步骤 七、思考题(1)编译器怎样提示丢失大括号的错误?(2)编译器怎样提示语句丢失分号的错误?(3)编译器怎样提示将System写成system这一错
4、误?(4)编译器怎样提示将String写成string这一错误?八、实验报告 要求实验报告的内容包括实验目的、实验设备、实验内容、实验结果、思考题五个部分。九、其它说明实验二 基本数据类型与控制语句实验学时:2学时实验类型:验证 实验要求:必做一、实验目的 掌握char型数据和int型数据之间的互相转换,同时了解unicode字符表。二、实验内容1编写一个java程序,该程序在命令行窗口输出希腊字母表GreekAlphabet.javapublic class GreekAlphabet public static void main (String args ) int startPosit
5、ion=0,endPosition=0; char cStart=,cEnd=; 【代码1】 /cStart做int型转换据运算,并将结果赋值给startPosition。 【代码2】 /cEnd做int型转换运算,并将结果赋值给endPosition。 System.out.println(希腊字母在unicode表中的顺序位置:+(int)cStart); System.out.println(希腊字母表:); for(int i=startPosition;i=endPosition;i+) char c=0; 【代码3】 /i做char型转换运算,并将结果赋值给c。 System.ou
6、t.print( +c); 2编写一个java程序,用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数十否是回文数。回文数是指该数含有的数字逆序排列后得到的数与原数相同,例如:12121,3223都是回文数。请按模板将代码替换为java程序代码。Number.javaimport javax.swing.JOptionPane;public class Number public static void main(String args) int number=0,d5,d4,d3,d2,d1; String str=JOptionPane.showInputDia
7、log(输入一个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(num
8、ber+是回文数); else System.out.println(number+不是回文数); else if(【代码7】) /判断number是4位数的条件。 System.out.println(number+是4位数); if(【代码8】) /判断number是回文数的条件码。 System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(【代码9】) /判断number是3位数的条件。 System.out.println(number+是3位数); if(【代码10】) /判断num
9、ber是回文数的条件。 System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(d2!=0) System.out.println(number+是2位数); if(d1=d2) System.out.println(number+是回文数); else System.out.println(number+不是回文数); else if(d1!=0) System.out.println(number+是1位数); System.out.println(number+是回文数); else
10、System.out.println(number +不在1至99999之间); 3编写一个java应用程序,实现以下功能:(1)程序随机分配给客户一个1-100之间的整数。(2)用户在输入对话框中输入自己的猜测。(3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”。(4)用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了”。请按模板将代码替换为java程序代码。GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber public static void main (Strin
11、g args ) System.out.println(给你一个1至100之间的整数,请猜测这个数); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog(输入您的猜测:); yourGuess=Integer.parseInt(str); while(【代码1】) /循环条件。 if(【代码2】) /条件代码。 str=JOptionPane.showInputDialog(猜大了,在再输入你的猜测:); yourGuess=Integer.par
12、seInt(str); else if(【代码3】) /条件代码。 str=JOptionPane.showInputDialog(猜小了,在再输入你的猜测:); yourGuess=Integer.parseInt(str); System.out.println(猜对了!); 三、实验原理、方法和手段 四、实验组织运行要求 集中授课五、实验条件软件配置:Windows XP Professional、IE5.5以上、eclipse开发环境硬件配置:CPU P4 2.0G以上、内存 512MB以上六、实验步骤七、思考题八、实验报告 要求实验报告的内容包括实验目的、实验设备、实验内容、实验结果
13、、思考题五个部分。九、其它说明实验三 类与对象实验学时:2学时实验类型:验证 实验要求:必做一、实验目的使用类来封装对象的属性和功能;掌握类变量和实例变量,以及类方法和实例方法的区别。 二、实验内容1 程序模板AreaAndLength.javaclass Trangle double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c) 【代码1】 /参数a,b,c分别赋值给sideA,sideB,sideC。 if(【代码2】) /a,b,c构成三角形的条件表达式。 【代
14、码3】 /给boo赋值。 else 【代码4】 /给boo赋值。 double getLength() 【代码5】 /方法体,要求计算出length的值并返回。 public double getArea() if(boo) double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC) ; return area; else System.out.println(不是一个三角形,不能计算面积); return 0; public void setABC(double a,double b,dou
15、ble c) 【代码6】 /参数a,b,c分别赋值给sideA,sideB,sideC。 if(【代码7】) /a,b,c构成三角形的条件表达式。 【代码8】 /给boo赋值。 else 【代码9】 /给boo赋值。 class Lader double above,bottom,height,area; Lader(double a,double b,double h) 【代码10】 /方法体。 double getArea() 【代码11】 /方法体,,要求计算出area返回。 class Circle double radius,area; Circle(double r) 【代码12】
16、 /方法体。 double getArea() 【代码13】 /方法体,要求计算出area返回。 double getLength() 【代码14】 /方法体,要求计算出length返回。 void setRadius(double newRadius) radius=newRadius; double getRadius() return radius; public class AreaAndLength public static void main(String args) double length,area; Circle circle=null; Trangle trangle;
17、 Lader lader; 【代码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调用方法
18、返回面积并赋值给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);
19、 2请按模板要求,将【代码】替换为Java程序代码程序模板Example.javaclass A 【代码1】 /声明一个float型实例变量:a。 【代码2】 /声明一个float型类变量:b。 void setA(float a) 【代码3】 /将参数a的值赋值给成员变量a。 void setB(float b) 【代码4】 /将参数b的值赋值给成员变量b。 float getA() return a; float getB() return b; void inputA() System.out.println(a); static void inputB() System.out.pri
20、ntln(b); public class Example public static void main(String args) 【代码5】 /通过类名操作类变量b,并赋值100。 【代码6】 /通过类名调用方法inputB()。 A cat=new A(); A dog=new A(); 【代码7】 /cat象调用方法setA(int a)将cat的成员a的值设置为200。 【代码8】 /cat调用方法setB(int b)将cat的成员b的值设置为400。 【代码9】 /dog象调用方法setA(int a)将dog的成员a的值设置为200。 【代码10】 /dog调用方法setB(i
21、nt b)将dog的成员b的值设置为400。 【代码11】 /cat调用inputA()。 【代码12】 /cat调用inputB()。 【代码13】 /dog调用inputA()。 【代码14】 /dog调用inputB()。 3 继承程序模板Example.javaclass People protected double weight,height; public void speakHello() System.out.println(yayawawa); public void averageHeight() height=173; System.out.println(averag
22、e height:+height); public void averageWeight() weight=70; System.out.println(average weight:+weight); class ChinaPeople extends People 【代码1】 /重写public void speakHello()方法,要求输出类似“你好,吃了吗”这样的 /汉语信息。【代码2】 /重写public void averageHeight()方法,要求输出类似 /“中国人的平均身高:168.78厘米”这样的汉语信息。【代码3】 /重写public void averageWei
23、ght()方法, /要求输出类似“中国人的平均体重:65公斤”这样的汉语信息。 public void chinaGongfu() 【代码4】/输出中国武术的信息,例如:坐如钟,站如松,睡如弓等。 class AmericanPeople extends People【代码5】 /重写public void speakHello()方法,要求输出类似 /“How do you do”这样的英语信息。【代码6】 /重写public void averageHeight()方法。 【代码7】 /重写public void averageWeight()方法。 public void america
24、nBoxing() 【代码8】/输出拳击的信息,例如,“直拳”、“钩拳”等。 class BeijingPeople extends ChinaPeople 【代码9】 /重写public void speakHello()方法,要求输出类似“您好”这样的汉语信息。 【代码10】 /重写public void averageHeight()方法。 【代码11】 /重写public void averageWeight()方法。 public void beijingOpera() 【代码12】/输出京剧的信息。 public class Example public static void m
25、ain(String args) ChinaPeople chinaPeople=new ChinaPeople(); AmericanPeople americanPeople=new AmericanPeople(); BeijingPeople beijingPeople=new BeijingPeople(); chinaPeople.speakHello(); americanPeople.speakHello(); beijingPeople.speakHello(); chinaPeople.averageHeight(); americanPeople.averageHeigh
26、t(); beijingPeople.averageHeight(); chinaPeople.averageWeight(); americanPeople.averageWeight(); beijingPeople.averageWeight(); chinaPeople.chinaGongfu(); americanPeople.americanBoxing(); beijingPeople.beijingOpera() ; beijingPeople.chinaGongfu(); 4 上转型对象程序模板HardWork.javaabstract class Employee publ
27、ic abstract double earnings();class YearWorker extends Employee 【代码1】 /重写earnings()方法。class MonthWorker extends Employee 【代码2】 /重写earnings()方法。class WeekWorker extends Employee 【代码3】 /重写earnings()方法。class Company Employee employee; double salaries=0; Company(Employee employee) this.employee=employee; public double salariesPay() salaries=0; 【代码4】 /计算salaries。 return salaries; public class HardWork public static void main(String args) Employee employee=new Employee20; for(int i=0;iemployee.length;i+) if(i%3=0) employeei=new WeekWorker();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1