您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 64JAVA实验报告
Java实验报告专业软件工程班级软082班学号姓名指导教师李伟安徽工业大学计算机学院2010年10月31日实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JAVA的运行环境及学习简单的编程。二、预习内容安装工具软件的基本方法。三、实验设备与环境装有JAVA语言工具软件(JCreator)的微机若干四、实验内容安装JCreator及JAVA的核心编译程序J2SDK。1、打开JCreator的安装盘安装JCreator。2、在相同目录下安装J2SDK。3、打开JCreator软件对J2SDK文件进行配置。4、编写一应用程序,在屏幕上显示“HELLOWORLD”。publicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println(HELLOWORLD);}}5、编写一小程序实现上述功能:在屏幕上显示“HELLOWORLD”。实验结果:五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、实验总结与体会1.通过这个实验我了解到java的运行环境。2.通过这个简单的程序使我认识到做实验是要认真对待,不可马虎大意,区分字母的大小写和符号的正确使用。实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JAVA语言工具软件(JCreator)的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。(1)编辑Average.java,设保存在D:\myjava目录下。publicclassAverage{publicstaticvoidmain(Stringargs[]){doublen,sum=0;for(intl=0;largs.length;l++){sum=sum+Double.valueOf(args[l]).doubleValue();}n=sum/args.length;System.out.println(average=+n);}}(2)编译。键入如下命令:D:\myjavajavaAverage.java(3)执行。键入如下命令。注意,命令行参数之间用空格分隔。D:\myjavajavaAverage.java“12.34”“34.45”“21212121”注意:1)参数的个数可以利用args.length来取得。2)参数“12.34”“34.45”“21212121”分别赋给了main方法的参数arges[0]、arges[1]和arges[2]。3)由于arges[0]、arges[1]和arges[2]是String类型的,所以要利用Double.valueOf(Strings)方法将String类型转化成Double类型,再用doubleValue()方法求出double类型的值。⒉编写一个应用程序,接受用户从键盘输入的摄氏温度,然后将其转化成等效的华氏度温度。方法一:利用System.in.read()方法可以接受从键盘输入的unicode码,编写一个循环取键值,循环出口为当输入回车时,即判断键值是否为13,若是,则退出循环。(1)编辑Accept.java,设保存在D:\myjava目录下。importjava.io.*;classAccpet{publicstaticvoidmain(String[]args){intc=0;Strings=;System.out.println(输入摄氏度:(0数值100));//System.in.read()语句需要加try/cacth()捕获异常try{while(c!=13)//当输入的不是回车{c=System.in.read();s=s+(char)c;//将int型转化成char型,再连接成字符串}}catch(Exceptione){}intcelsius=Integer.parseInt(s.trim());doublefahre=1.8*celsius+32;System.out.println(转化成华氏度为:+fahre);}}注意:1)in是System类的一个属性,System.in的返回类型是InputStream类型。输入字节流的父类,InputStream类中的read()方法可以读取一个用户从键盘上输入的键值。System.im.read()的返回值是整型,因此需要先转化成字符型后再连接成字符串。2)System.im.read()需要用try/catch机制来捕获异常。3)将字符串转化成响应的整型数值后再利用公式计算出华氏温度。方法二:由于InputStream类中的read()方法只能读取一个键值,所以需要利用循环才能读出用户从键盘输入的一串字符,有没有读取一行字符的命令呢?我们可以利用Java中类的嵌套来实现。由于BufferedReaser类有读取一行字符串的方法,所以可以这样去定义对象:BuffereReaserbr=newBuffereReaser(newInputStreamReader(System.in));实验结果:(1)编辑Accpe1.java,设保存在D:\myjava目录下。importjava.io.BufferedReader;importjava.io.InputStreamReader;publicclassAccept1{publicstaticvoidmain(Stringargs[]){Strings=;System.out.println(输入摄氏度:(0数值100));BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));try{s=br.readLine();}catch(Exceptione){}intcel=Integer.parseInt(s.trim());doublef=cel*1.8+32;System.out.println(s+摄氏度转化成华氏度为:+f);}}实验结果:⒊编写应用程序,按升序顺序输出一维数组中的元素。排序的方法有很多,常用的有选择发和冒泡法,在此使用选择法。(1)编辑Sort.java,设保存在D:\myjava目录下。publicclassSort{/***@paramargs*/publicstaticvoidmain(String[]args){int[]a={3,2,6,4,8,12,0,97,1};inttemp;intk;for(inti=0;ia.length-1;i++){k=i;for(intj=i+1;ja.length;j++){if(a[k]a[j])k=j;}temp=a[i];a[i]=a[k];a[k]=temp;}for(intn=0;na.length;n++)System.out.print(a[n]+);}}实验结果:五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、实验总结与体会1.在编程的过程中应该细心尽量不要出现拼写错误,以免耽误调试时间。2.掌握用户从键盘输入和命令行输入的编程方法。以便以后编程时能很好的应用。3.通过本实验我体会到要做好一个实验必须要有严谨的态度,注意字母的大小写,符号的正确使用等。实验三、面向对象编程实验一、实验目的⒈掌握接口的编写及使用⒉理解继承、多态⒊掌握包的编写以及如何使用包中的类二、预习内容java的基本语法知识三、实验设备与环境装有JAVA语言工具软件(JCreator)的微机若干四、实验内容⒈接口的编写(1)编辑Interfaceclass.java,设保存在D:\myjava目录下。interfaceInterfaceclass{inti=4;intk=5;voidfunc1();intfunc2(intx);(2)编辑UseInterface.java,设保存在D:\myjava目录下。classUseInterfaceimplementsInterfaceclass{intj;publicvoidfunc1()//在使用接口的类中一定要实现接口中的所有抽象方法{System.out.println(func1=+1);}publicintfunc2(inti){System.out.println(func2=+1);returni;}publicstaticvoidmain(Stringargs[]){//Interfaceclass.classx=newInterfaceclass.class();不能对接口进行实例化UseInterfacex=newUseInterface();x.func1();x.func2(k);}}实验结果:⒉多态在工资系统中的应用下面给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Earnings()派出生的。所有在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引导并调用earnings()方法。在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。程序依次使用数组的每个元素(Employee引用)调用每个对象的employee()方法。(1)编辑Test.java,设保存在D:\myjava目录下。//Employee超类的定义abstractclassEmployee{privateStringfirstName;privateStringlastName;publicEmployee(Stringfirst,Stringlast){firstName=first;lastName=last;}publicStringgetEmployeeName(){returnfirstName;}publicStringgetLastName(){returnlastName;}publicStringtoString(){returnfirstName+lastName;}publicabstractdoubleearnings();}//定义Boss类,为Employee的子类finalclassBossextendsEmployee{privatedoubleweeklySalary;publicBoss(Stringfrist,Stringlast,doubles){super(frist,last);setWeeklySalary(s);}publicvoidsetWeeklySalary(doubles){weeklySalary=(s0?s:0);}publicdoubleearnings(){returnweeklySalary;}publicStringtoString(){returnBoss+super.toString();}}//定义CommissiomWorker类,为Employee的子类finalclassCommissionW
本文标题:64JAVA实验报告
链接地址:https://www.777doc.com/doc-4211126 .html