当前位置:文档之家› Java程序设计实验报告分析

Java程序设计实验报告分析

学生实验报告(理工类)课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭所属院部:软件工程学院指导教师:王倩倩20 15 ——20 16 学年第 2 学期金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用A4的纸张。

实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。

各院部可根据学科特点和实验具体要求增加项目。

填写注意事项(1)细致观察,及时、准确、如实记录。

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

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

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

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

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

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

实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩:批改教师:王倩倩批改时间:一、实验目的和要求(1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法;(2)熟练掌握Java应用程序的结构;(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;(4)熟练掌握常见数据类型的使用;(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法;(6)熟练掌握数组和字符串的使用;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。

二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。

三、实验过程(1)分别使用JDK命令行和Eclipse编译运行Java应用程序。

记录操作过程。

Java应用程序参考如下:思考:1. 适当添加注释信息,通过javadoc生成注释文档;2. 为主方法传递参数“Hello world”字符串,并输出;3. 压缩生成".jar"文件。

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

记录操作过程。

Java小应用程序参考如下:HTML文档参考如下:<html><applet code="HelloApplet.class" height=100 width=300></applet></html>(3)输出下列数字形式。

①n=40 0 0 00 1 1 10 1 2 20 1 2 3② n=411 2 11 2 3 2 11 2 3 4 3 2 1(4)采用数组输出等腰三角形的杨辉三角。

(5)判断回文字符串回文是一种“从前向后读”和“从后向前读”都相同的字符串。

如“rotor”是一个回文字符串。

程序中使用了两种算法来判断回文字符串:算法一:分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。

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

要求:(1)编译调试程序之前应配置好环境变量;(2)要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序;(3)注意Java两大类程序:应用程序和小程序的区别。

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

)(实验一程序清单续1)(3)①public class shuxing {public static void main(String[] args) {int n=4;for(int i=0;i<n;i++){for(int j=0;j<n;j++){System.out.print(" "+((i<j)?i:j));}System.out.println();}}}②public class shuxingtower {public static void main(String[] args) {int n=4;for(int i=0;i<=n;i++){for(int j=1;j<=n-i;j++)System.out.print(" ");for(int j=1;j<=i;j++)System.out.print(" "+j);for(int j=i-1;j>0;j--)System.out.print(" "+j);System.out.println();}}}(4)public class yanghui {public static void main(String[] args) {int[][] a=new int[5][5];for(int i=0;i<5;i++){a[i][0]=1;a[i][i]=1;}for(int i=2;i<5;i++){for(int j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(int i=0;i<5;i++){for(int k=0;k<=5-i;k++){System.out.print(" ");}for(int j=0;j<=i;j++){System.out.print(a[i][j]+" ");}System.out.println();}}}(5)public class palindrome {public static void main(String[] args) {String str="rotor";int i=0;int n=str.length();boolean yes=true;System.out.println("str="+str);char ch1,ch2;while(yes&&(i<n/2)){ch1=str.charAt(i);ch2=str.charAt(n-i-1);if(ch1==ch2) i++;else yes=false;}System.out.println("算法1: "+yes);String temp="",sub="";for(i=0;i<n;i++){sub=str.substring(i,i+1);temp=sub+temp;}System.out.println("temp="+temp);System.out.println("算法2: "+str.equals(temp));}}四、实验结果与分析(1)(2)(3)①②(4)(5)实验项目名称:面向对象编程实验学时: 8 同组学生姓名:————实验地点:实验日期:实验成绩:批改教师:批改时间:一、实验目的和要求(1)熟练掌握Java语言类定义的基本语法;(2)熟练掌握类成员的访问控制,对象建立的方法;(3)熟练掌握类构造方法、成员方法的定义和重载;(4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。

二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。

三、实验过程(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、字符串描述、比较是否相等等操作。

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

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

观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。

编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。

(4)编码实现多态在工资系统中的应用:给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。

Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。

该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。

在主测试类Test中测试各类雇员工资计算结果。

提示:对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。

在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。

为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。

在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。

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

Employee类定义如下:abstract class Employee{private String firstName;private String lastName;public Employee(String first,String last){firstName=first;lastName=last;}public String getEmployeeName(){return firstName;}public String getLastName(){return lastName;}public String toString(){return firstName+lastName;}public abstract String earnings();}(5)异常的捕获:计算两数相除并输出结果。

相关主题