您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > JAVA大学实验报告含答案
《Java编程》实验教学大纲一、实验课的性质与任务Java语言是新兴起的面向对象程序设计语言,用于应用程序设计,尤其是应用在网络、因特网和移动设备上。为培养学生网络应用程序的编程能力,在学生具有一定的计算机和网络知识的基础上开设Java程序设计课程,使学生能够运用Java语言作为完成应用程序设计的基本工具。本课程将从面向对象的基本概念入手,结合课程设计,较为系统地介绍Java语言的主要特征和编程方法,包括:类型与转换、类的声明与对象产生、继承与多态性、包与接口、数组与字符串、多线程编程以及异常处理、JDBC等内容。通过相关的实验设计,使学生具有一定的网络编程能力。二、实验课程目的与要求1.实验目的:开设该课程设计,目的是让学生在掌握了Java程序设计的基本知识、基本理论方面后,能熟悉Java编程的思想和编程技巧,培养学生分析问题和解决问题的能力及技巧。实验设计覆盖Java程序设计中主要的方法。该课程以讲授、演示和实验法相结合。按照重视基础,突出重点的原则进行。通过程序设计培养学生的程序设计能力、解决和分析问题的能力,使学生对所学的内容有更深入的理解,逐步掌握Java编程方面的技巧。2.实验要求:(1)实验安排在上机时间进行,如在上机时间不能完成可课后完成,到期交经过编译并能正常运行的软件。(2)实验以前,学生应对实验设计的相关知识点和相关设计技术有所了解。实验学时:32实验个数:6实验学分:1课程性质:专业限选课适用专业:软件工程教材及参考书:1.《Java语言程序设计》,郑莉等主编,北京:清华大学出版社,20062.《面向对象程序设计与Java语言》,周晓聪等著,北京:机械工业出版社,2004大纲执笔人:朱贵琼大纲审定人:李晓宁(3)每个实验都要求写出实验报告(实验报告包括:实验内容、目的、实现方法、调试结果)。三、实验项目及内容提要《Java程序设计》实验课程序号实验项目编号实验名称学时必做选做学分数实验类型内容提要基本操作验证综合设计1一Java基础知识实验4√√熟悉Java基本语句和程序控制结构以及类与对象的使用2二异常与多态处理实验4√√异常的抛出和处理以及多态的具体运用3三文件输入、输出及GUI设计实验6√√对输入、输出流的运用以及对组件的使用,GUI界面的实现,4四在线预约系统6√√完成多线程的使用和线程同步5五人力资源管理系统实现6√√完成对数据库的JDBC的连接,各个模块的划分6六基于C/S和B/S的在线定购系统设计6√√学会设计B/S或者C/S结构,达到多任务的系统要求四、实验内容安排:实验一Java基础知识实验(验证型实验4学时)1.目的要求:(1)熟悉Jbuilder的开发环境,学会Jbuilder基础的操作和调试。(2)熟悉Java程序的简单开发。(3)熟悉Java的基本数据类型以及基本程序控制结构。(4)熟悉类的编写,对象的声明,对象实例化以及对象的初始化。(5)掌握类与对象之间的关系,学会对象之间的相互调用。2.实验内容:(1)编写一个Java程序,用于输出Fibonacci数列的前20项。publicclassfibonacci{publicstaticvoidmain(String[]args){inti;functiona;a=newfunction();for(i=0;i=19;i++){System.out.println(a.fibonacci(i));}}}publicclassfunction{publicintfibonacci(intn){if(n=1)return1;returnfibonacci(n-1)+fibonacci(n-2);}}(2)编写程序计算三门课的平均成绩,要求应用程序分别用Java语言三种不同的循环语句实现,每门课的成绩用Math类的random()方法随机产生(random()产生的数值在0和1之间),成绩范围为40~100。importjava.lang.Math;publicclassrandom{intnum=(int)(40*Math.random()+60);}publicclasstest{publicstaticvoidmain(String[]args){inti;intcount=0;randoma;a=newrandom();for(i=1;i=3;i++){count+=a.num;}System.out.println(count/3);}}(3)将笛卡尔坐标系上的点定义为一个服务类Point,Point类提供求得坐标系上两点间距离的功能、获取和设置坐标的功能、获取极坐标的功能,和完成对已创建的Point类对象统计功能。设计测试Point服务类的应用程序主类,测试并显示输出提供功能的结果。importjava.util.Scanner;classPoint{privatedoublei;privatedoublej;privatedoublesum;voidSetpoint(doublea,doubleb){i=a;j=b;}doubleGetpointl(){returni;}doubleGetpointr(){returnj;}doubledistance(Pointm){sum=(double)Math.sqrt((i-m.i)*(i-m.i)+(j-m.j)*(j-m.j));returnsum;}doubledistance(){sum=(double)Math.sqrt((i-1)*(i-1)+(j-1)*(j-1));java.text.DecimalFormatmyformat=newjava.text.DecimalFormat(#0.00);myformat.format(sum);returnsum;}doubleAngle(){returnMath.atan2(i-1,j-1);}voidPutinPoint(){doublea,b;System.out.println(输入坐标:);Scannerin=newScanner(System.in);a=in.nextDouble();b=in.nextDouble();Setpoint(a,b);}voidPrintout(){System.out.println(输出极坐标+:);System.out.println((+distance()+,+Angle()+));}}publicclasstest{/***@paramargs*/publicstaticvoidmain(String[]args){Pointn0=newPoint();Pointn1=newPoint();n0.PutinPoint();n1.PutinPoint();n1.Printout();System.out.println(距离:);System.out.println(n0.distance(n1));}}3.主要仪器设备及软件:(1)PC机(2)Jbuilder或JDK1.5实验二异常与多态处理实验(验证型实验4学时)1.目的要求(1)熟悉Java的异常的分类和继承。(2)学会捕捉和处理异常。(3)学会自己设计异常和处理异常。(4)熟悉多态在Java程序中的具体使用。2.实验内容:(1)设计一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。如果输入的参数为一个、二个、三个则它们应分别对应正方形、长方形、三角形,如果没有参数,则通过异常处理方法现实错误消息。(用于计算面积的方法是一个重载的方法。提示:定义一个抽象的父类,并提供一个抽象的方法area().再派生出三个子类,重写area()方法,然后在main方法中用多态来实现具体的面积函数的调用)。importjava.io.*;importjavax.swing.JOptionPane;abstractclassfather{publicabstractvoidarea();}classzhengfangextendsfather{doubler;//定义的正方形的边;publiczhengfang(doublenum){r=num;}publicvoidarea(){doublearea=r*r;System.out.println(正方形的面积是+(area));}}classchengfangextendsfather{doublelength;doublehigh;publicchengfang(doublel,doubleh){length=l;high=h;}publicvoidarea(){doublearea=length*high;System.out.println(长方形的面积是+(area));}}classSanjiaoextendsfather{doublesanjiao1;doublesanjiao2;doublesanjiao3;doubles,k;doublemianji;publicSanjiao(doublenum1,doublenum2,doublenum3)throwsMyException{sanjiao1=num1;sanjiao2=num2;sanjiao3=num3;s=(sanjiao1+sanjiao2+sanjiao3)/2;k=s*(s-sanjiao1)*(s-sanjiao2)*(s-sanjiao3);if(k=0){thrownewMyException(此三条边不能构成一个三角形);}else{mianji=Math.sqrt(s*(s-sanjiao1)*(s-sanjiao2)*(s-sanjiao3));}}publicvoidarea(){System.out.println(三角形面积是+(mianji));}}classMyExceptionextendsException{privateStringinString;publicMyException(StringinString){this.inString=inString;}publicvoidout(){System.out.println(错误为+inString);}}importjava.io.*;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(Stringarg[])throwsIOException{intx=1;while(x==1){try{System.out.println(请输入边的长度以,为分隔);Scannerscanner=newScanner(System.in);StringenterString=scanner.next();doublebian1,bian2,bian3;int[]dian=newint[3];intn=0,k=0;//k是用于对点赋值n是用于计算','个数for(inti=0;i=enterString.length()-1;i++){if(enterString.charAt(i)==','){if(k=2){dian[k]=i;k++;}n++;}}if(n2){thrownewMyException(输入数据多于三个);}if(n==0){bian1=Double.parseDouble(enterString);if(bian1=0){thrownewMyException(正方形边长不能小于等于0);}fatherzheng=newzhengfang(bian1);zheng.area();x--;}if(n==1){bian1=Double.parseDouble(enterString.substring(0,dian[0]));bian2=Double.parseDouble(enterString.substring(dian[0]+1));if(bian1=0||bian2
本文标题:JAVA大学实验报告含答案
链接地址:https://www.777doc.com/doc-5464708 .html