




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行保证金流程管理规范
- 小金鱼儿童课件
- 帕金森病人的护理常规
- 护理教学中的法律法规
- LED照明产品绿色环保采购合同
- 上市公司股票抵押借款协议
- 绿色物流仓储库房租赁与环保仓储解决方案合同
- 大班音乐《逛公园》
- 科研实验场地借用协议书模板
- 餐饮企业品牌加盟及经营管理合同范本
- 儿童篮球教学课件视频
- 注塑公司规章管理制度
- 安全生产管理台账(合集)
- 福建省厦门市第一中学2025届七下英语期末质量跟踪监视试题含答案
- 2024年吉林省国资委监管企业招聘真题
- 大学语文试题及答案 二
- 2025年 汾西矿业井下岗位高校毕业生招聘考试笔试试题(山西省)含答案
- 2025年西藏事业单位招聘考试职业能力倾向测验试卷(民族医药类)
- 结构动力学完整版本
- 2025年八年级数学下学期期末总复习八年级数学下学期期末测试卷(2)(学生版+解析)
- 农村供水水质管理制度
评论
0/150
提交评论