已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建师大福清分校计算机实验报告(W5,W6)院/系: 数学与计算机科学系 课程名称:Java面向对象程序设计 日期: 专业12计本组号学号实验室C204班级12计本姓名老师签名赵少卡实验名称类与对象成绩评定实验环境JDKExitPlus实验目的和要求掌握类与对象的创建方法,掌握类变量与实例变量、类方法与实例方法的区别等相关知识。实验原理类体的内容由成员变量和方法构成:成员变量刻画类创建的对象的属性;方法一般由类所创建的对象调用,对象调用这些方法操作成员变量形成一定的算法,体现对象具有某种功能。类变量是和该类所创建的所有对象相关联的变量,改变其中一个对象的这个类变量就同时改变了其它对象的这个类变量。实例方法必须通过对象来调用,而类方法既可以由对象调用也可以通过类名调用。实验内容1、补全下列程序并回答注释中的两个问题。class A 【代码1】 /声明一个实例float变量a 【代码2】 /声明一个static的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); / 能否改写成System.out.println(a+b);为什么? 实验内容 static void inputB( ) System.out.println(b); / 能否改写成System.out.println(a+b);为什么? public class Ex2_1 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(int b)将dog的成员b的值设置为900 【代码11】 / cat调用inputA( ) 【代码12】 / cat调用inputB( ) 【代码13】 / dog调用inputA( ) 【代码14】 / dog调用inputB( ) 2、 编写一个类Letter,要求该类创建对象p,并调用方法printLetter输出英文字母表。3、 编写一个类DengCha,该类含有成员:(1)构造方法;(2)setStart(int s):用于指定等差数列的起始值;(3)setD(int d):用于指定等差数列的公差;(4)getSum(int n):用于计算等差数列项的和。并创建对象shulie对该类进行测试。4、 编写一个类SquareEquation,该类封装了一元二次方程共有的属性和功能,即该类含有刻画方程系数的3个成员变量a,b,c以及计算实根的方法getRoots,并用数据测试该类的正确性。要求:该类的所有对象共享常数项。实验内容5、定义一个复数类Complex,内有两个成员变量:实部real和虚部image,还有两个成员方法add( )和sub( ),用来求两复数的和以及两复数的差。编程验证该程序的复数加减运算是正确的。其中main方法已给出:public class Shiyan_5 public static void main(String args) Complex x = new Complex(4.0,2.1); Complex y = new Complex(2.5,5.0); Complex t1 = new Complex( ); Complex t2 = new Complex( ); t1 = x.add(y);t2 = x.sub(y); t1.print( ); t2.print( ); 系统实施void inputA( ) System.out.println(a); / 能否改写成System.out.println(a+b);为什么? 可以,实例方法可以调用类变量 static void inputB( ) System.out.println(b); / 能否改写成System.out.println(a+b);为什么? 不可以,类方法不可以调用实例变量测试报告结果分析注意非法字符附录1.class A float a; /声明一个实例float变量a static float b; /声明一个static的float变量b void setA(float a) this.a = a; / 将参数a的值赋值给成员变量a void setB(float b) A.b = b; / 将参数b的值赋值给成员变量b float getA( ) return a; float getB( ) return b; void inputA( ) System.out.println(a); / 能否改写成System.out.println(a+b);为什么? static void inputB( ) System.out.println(b); / 能否改写成System.out.println(a+b);为什么? public class Ex2_1 public static void main(String args ) A.b = 100f; / 通过类名操作类变量b,并赋值100 A.inputB(); / 通过类名调用方法inputB( ) A cat=new A( ); A dog=new A( ); cat.setA(200f); / cat调用方法setA(int a)将cat的成员a的值设置为200 cat.setB(400f); / cat调用方法setB(int b)将cat的成员b的值设置为400 dog.setA(200f); / dog调用方法setA(int a)将dog的成员a的值设置为200 dog.setB(900f); / dog调用方法setB(int b)将dog的成员b的值设置为900 cat.inputA(); / cat调用inputA( ) cat.inputB(); / cat调用inputB( ) dog.inputA(); / dog调用inputA( ) dog.inputB(); / dog调用inputB( ) 2class Letterchar start = A;void printLetter()for(int i = 0;i25;i+)char c = 0;c = (char)(i+start);System.out.printf(%c ,c);if(i%7=0&i!=0)System.out.printf(n);class Letter2public static void main(String args)Letter p = new Letter();p.printLetter();3.import java.util.*;public class DengCha3public static void main(String args)DengCha shulie = new DengCha();shulie.setStart(6);shulie.setD(7);System.out.printf(首项为6,公差为7的等差数列的前5项和为%d,shulie.getSum(5);class DengChaint s;int d;int sum ;DengCha()void setStart(int s)this.s = s;void setD(int d)this.d = d;int getSum(int n)sum = n*s+n*(n-1)*d/2;return sum;4.import java.lang.Math;class SquareEquationdouble a;double b;static double c;double x1,x2;SquareEquation(double a,double b,double c)this.a = a;this.b = b;SquareEquation.c = c;void getRoots()double temp = b*b-4*a*c;if(temp0) System.out.println(方程无根n);else if(temp != 0) x1 = (-b+Math.sqrt(temp)/(2.0*a);x2 = (-b-Math.sqrt(temp)/(2.0*a);System.out.printf(方程有两个不同的实根 其中x1=%.2f,x2=%.2fn,x1,x2);else x1 = -b/(2.0*a);System.out.printf(方程有两个相同的实根,值为%fn,x1);public class SquareEquation4public static void main(String args)SquareEquation yi = new SquareEquation(1,2,3);System.out.println(方程式一 为x*x+2x+3=0);yi.getRoots();SquareEquation er = new SquareEquation(4,10,1);System.out.println(方程式二为4x2+10x=0);er.getRoots();System.out.printf(方程一的常数项为%.2f,方程二的常数项为%.2f,yi.c,er.c);5.public class Shiyan_5 public static void main(String args)Complex x = new Complex(4.0,2.1);Complex y = new Complex(2.5,5.0);Complex t1 = new Complex( );Complex t2 = new Complex( );t1 =x.add(y);t2 =x.sub(y);t1.print( );t2.print( ); class Complexdouble a;double b;Complex()Complex(double a1,double b1)a =a1;b=b1;Complex add(Complex x)double a1,a2;a1 = a + x.a;a2 = b + x.b;return new Complex(a1,a2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷水机组中央空调系统选型方案
- 2025浙江中烟工业有限责任公司集中招聘95人模拟试卷附答案
- 2025河南焦作孟州市消防救援大队面向社会招录政府专职消防队员20人备考题库附答案
- 2026年一级注册建筑师之建筑物理与建筑设备考试题库300道含完整答案(网校专用)
- 2026年一级建造师之一建铁路工程实务考试题库300道附答案【基础题】
- 2025浙江音乐学院非教学岗位招聘1人参考题库附答案
- 2025辽宁辽阳市市直部分学校招聘专业技术人员22人参考题库附答案
- 2026年一级注册建筑师之建筑物理与建筑设备考试题库300道及答案【真题汇编】
- 2026年一级注册建筑师之建筑经济、施工与设计业务管理考试题库300道带答案(培优)
- 2025 年高职文化创意与策划(文化创意管理)试题及答案
- GB/T 27806-2011环氧沥青防腐涂料
- GB/T 12618.1-2006开口型平圆头抽芯铆钉10、11级
- 最新《工会基础知识》试题库及答案1000题【完美打印版】
- FZ/T 52051-2018低熔点聚酯(LMPET)/聚酯(PET)复合短纤维
- 熵权法教学讲解课件
- 专业技术报告xxx电厂2600MW亚临界空冷机组除尘器性能异常分析报告
- 2023年四川省产业振兴发展投资基金有限公司校园招聘笔试题库及答案解析
- 妊娠合并系统性红斑狼疮病例讨论课件
- 2022年新任领导表态发言模板
- 2016年收支预算总表
- 跨境电子商务客户服务第七章跨境电子商务客户服务与沟通之进阶课件
评论
0/150
提交评论