20140902413李雪瑞计算机工程系实验报告345_第1页
20140902413李雪瑞计算机工程系实验报告345_第2页
20140902413李雪瑞计算机工程系实验报告345_第3页
20140902413李雪瑞计算机工程系实验报告345_第4页
20140902413李雪瑞计算机工程系实验报告345_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机工程系实验报告课程名称:Java程序设计成 绩:实验项目名称:JAVA语言实现面向对象编程基础指导教师:(签名)班级: 计科14-4班姓名: 李雪瑞学号: 20140902413一、实 验 目 的: 1. 通过实验,掌握Java语言程序设计的基本方法。2. 学会Java语言中运算符和表达式的应用。,熟练地掌握Java程序流程控制语句的应用。3. 掌握Java面向对象程序设计中类、包等的概念与应用,能熟练应用方法、类、成员变量等元素。4. 掌握继承和接口等概念,熟练子类对象的创建过程,掌握面向对象编程的概念和方法以及接口的运用。二、实 验 要 求:1. 编写一个JAVA应用程序,使用While循环语句计算11000之间能被3和7同时整除的整数之和。2. 编写一个JAVA应用程序,计算1-1/3+1/5-1/7+1/9-1/11+的前10项之和。3. 编写一个类,该类创建的对象可以计算等差数列的和。4. 编写一个类,该类创建的对象可以输出俄文字母表。5. 编写两个类,A和B,A创建的对象可以计算两个正整数的最大公约数,B创建的对象可以计算两个数的最小公倍数。要求:B类中有一个成员变量是用A类声明对象。6. 编写一个类,使该类有如下方法: Public int f(int a,int b) /要求该方法返回a和b的最大公约数再编写一个该类的子类,要求子类重写方法f(),而且重写的方法将返回两个整数的最小公倍数。7. 编写一个类要求实现一个接口,该接口有3个abstract方法:Publicabstractvoidf(intx);Publicabstractvoidg(intx,inty);Publicabstractdoubleh(doublex);三、完 成 程 序: 1. publicclassZy1publicstaticvoidmain(Stringargs)ints=0,m=3,n=7,a=1;while(a=1000)if(a%m=0&a%n=0)s=s+a;a+;System.out.println(s=+s); 实 验 结 果 抓 图 及 分 析:结果为 23688此程序主要使用了while循环语句,while语句有关键字while,括号中的一个求值为boolean类型数据的表达式和一个复合语句构成。While语句的执行规则是:计算表达式的值,如果该值是true,则,否则执行循环体,再进行结束while语句的执行。2. publicclassZy3publicstaticvoidmain(Stringargs)longs=0,a=8,m=a,n=10,i=1;for(i=1;i=n;i+)sum=sum+m;item=m*10+a; System.out.println(sum);实 验 结 果 抓 图 及 分 析:结果为9876543200此程序主要使用了for循环语句,for语句由关键词for,括号中用分号分隔的3个表达式及一个复合语句构成。括号中的第二个表达式必须是一个求值为boolean类型数据的表达式。第一个表达式用来完成变量的初始化,第二个为循环条件,第三个用来休整变量,改变循环条件。For语句的执行规则如下:计算括号中第一个表达式,完成初始化工作判断括号中第二个表达式的值,若为true,则执行,否则执行执行循环体,然后计算括号中第三个表达式,再执行结束for语句执行3.classDcintstart,d; Dc() Dc(intstart,intd)this.start=start;this.d=d;voidsetStart(ints)start=s;voidsetD(intd)this.d=d;intgetSum(intn)intsum=0,i=1;while(i=n) sum=sum+start;start=start+d;i+;returnsum;publicclassZy3publicstaticvoidmain(Stringargs) Dcshulie=newDc(2,3);System.out.println(等差数列和为+shulie.getSum(20);shulie.setStart(8);shulie.setD(4);System.out.println(等差数列和为+shulie.getSum(5);实 验 结 果 抓 图 及 分 析:等差数列结果 此程序主要使用了类及类的对象的创建,通过创建相应的具有特定功能的类来实现其运算,类由两部分构成:类声明和类体。其中class是关键字,用来定义类。类名必须是合法的java标识符。类体由两个成员:成员变量和方法。构造方法给出类所创建对象的初始状态。4. classEnglishpublicvoidprintEnglish ()for(charc=a;c=z;c+)System.out.print(+c);publicclassZy4publicstaticvoidmain(Stringargs)System.out.print(英文字母表:);Englishp=newEnglish ();p.printEnglish ();实 验 结 果 抓 图 及 分 析:英文字母表输出 类创建对象的形式为类名+对象名并为其开辟对栈,对象调用类中的方法使用运算符“.”。对象可以实现对自己的变量的访问和方法的调用。通过操纵类及其方法进行调用很好的体现了java中封装技术的应用5.importjava.util.Scanner;classAintf(intm,intn)if(m*n0)System.out.println(有负数,ERROR!);System.exit(0); if(mn)inttemp=m; m=n;n=temp; inta=m,b=n;intr=m%n;while(r!=0)m=n;n=r;r=m%n;returnn;classBAa;B()a=newA();intg(intm,intn)inttemp=a.f(m,n);returnm*n/temp;publicclassZy5publicstaticvoidmain(Stringargs)Scannerreader=newScanner(System.in);System.out.println(计算两个正整数的最大公约数和最小公倍数);System.out.print(输入第一个整数:);intm=reader.nextInt();System.out.print(输入第二个整数:);intn=reader.nextInt();Aa=newA();Bb=newB(); System.out.println(m+和+n+的最大公约数是+a.f(m,n); System.out.println(m+和+n+的最小公倍数是+b.g(m,n);实 验 结 果 抓 图 及 分 析:计算结果 此程序所求为最大公约数和最小公倍数,通过scanner语句输入两个数,然后创立两个类,者两个类分别对应最大公约数和最小公倍数的求解方法。在主类中声明相应类的对象,调用其内部的方法进行求解输出。其中采用了传统数学中的辗转相除法。6.importjava.util.Scanner;classApublicintf(intm,intn)if(mn) inttemp=m;m=n;n=temp; intr=m%n;while(r!=0)m=n;n=r;r=m%n;returnn;classBextendsApublicintf(intm,intn)intdivision=super.f(m,n);return(m*n)/division;publicclassZy6publicstaticvoidmain(Stringargs)Aa=newA();Bb=newB();Scannerreader=newScanner(System.in);System.out.println(计算两个正整数的最大公约数和最小公倍数);System.out.print(输入第一个整数:);intm=reader.nextInt();System.out.print(输入第二个整数:);intn=reader.nextInt();if(m*n0)System.out.println(有负数,ERROR!);System.exit(0);System.out.printf(%d和%d的最大公约数是%dn,m,n,a.f(m,n);System.out.printf(%d和%d的最小公倍数是%dn,m,n,b.f(m,n);实 验 结 果 抓 图 及 分 析:运行结果: 此最大公约数、最小公倍数的求解,思路与第五题基本相同,但方法有所不同。这次采用了b类对a类的相关方法的重写,在通过super调用a中所需代码,减少了代码的冗余,降低了运算的时间复杂度。7.interfaceApublicabstractvoidf(intx);publicabstractvoidg(intx,inty);publicabstractdoubleh(doublex);classA1implementsApublicvoidf(intx)System.out.println(x);publicvoidg(intx,inty)intz=x+y;System.out.println(z); publicdoubleh(doublex)returnx*x;classA2implementsApublicvoidf(intx)System.out.println(Hello:+x);publicvoidg(intx,inty)intz=x-y;System.out.println(z);publicdoubleh(doublex) returnMath.sqrt(x);classA3implementsApublicvoidf(intx)System.out.println(你好:+x);publicvoidg(intx,inty)doublez=(double)x/y;System.out.println(z);publicdoubleh(doublex)return1/x;publicclassZy7publicstaticvoidmain(Stringargs)Aa=newA1();a.f(10);a.g(12,20);System.out.println(a.h(100);a=newA2();a.f(10);a.g(12,20);System.out.println(a.h(100);a=newA3();a.f(10);a.g(12,20);System.out.println(a.h(100);实 验 结 果 抓 图 及 分 析:运行结果 用关键字abstract修饰的类称为抽象类,抽象类与普通类不完全相同,对于抽象方法只允许声明不允许实现。更不能用new运算创建运算对象。调用抽象方法必须采用重写技术。使得抽象方法的目的得以实现。五、实 验 错 误 分 析: 1. 错误原因:主类名与文件名不符解决方法:保持主类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论