实验一 三角形、梯形和圆形的类封装

实验目的: 使用类来封装对象的属性和功能

实验要求:编写一个Java应用程序,该程序中有3个类:Trangle

、Lader和Circle,分别用来刻画“三角形”“梯形”和“圆形”。具体要求如下:

Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle

类具有返回周长、面积以及修改三个边的功能。另外该类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。

Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。

Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积功能。

实验2 实例成员和类成员

实验目的:掌握类变量和实例变量,以及类方法和实例方法的区别。

实验要求:按程序模版的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。

程序模版

请按照模版要求,将【代码】替换为程序代码。

Example.java

class A

{

【代码1】 //声明一个float型实例变量a

【代码2】 //声明一个float型类变量b,即static变量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);

}

static

void inputB()

{

System.out.println(b);

}

}

public class Example

{

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的值设置为150

【代码10】 //dog调用方法setB(int

b)将dog的成员b的值设置为300

【代码11】 //cat调用inputA()。

【代码12】 //cat调用inputB()。

【代码13】 //dog调用inputA()。

【代码14】 //dog调用inputB()。

}

}

实验3 使用package语句和import语句

实验目的:掌握使用package和import语句。

实验要求:按实验要求使用package语句,并用import语句使用Java平台提供的包中的类以及自定义包中的类。掌握一些重要的操作步骤。

程序模版

模版1

将模版1

给出的Java源文件命名为SquareEquation.java,将编译后得到的字节码文件复制到c:/1000/tom/jiafei目录中

SquareEquation.java

package tom.jiafei;

public class SquareEquation

{

double

a,b,c;

double

root1,root2;

boolean

boo;

public SquareEquation(double a,double b,double

c)

{

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}

public

void getRoots()

{

if(boo)

{

System.out.println("是一元2次方程");

double disk=b*b-4*a*c;

if(disk>=0)

{

root1=(-b+Math.sqrt(disk))/(2*a);

root2=(-b-Math.sqrt(disk))/(2*a);

System.out.printf("方程的根:%f,%f\n",root1,root2);

}

else

{

System.out.printf("方程没有实根\n");

}

}

else

{

System.out.println("不是一元2次方程");

}

}

public void

setCoefficient(double a,double b,double c)

{

this.a=a;

this.b=b;

this.c=c;

if(a!=0)

{

boo=true;

}

else

{

boo=false;

}

}

}

模版2

将模版2给出的Java源程序SunRise.java保存到D:\2000中。在编译模版2给出的源文件之前要重新设置classpath。

SunRise.java

import tom.jiafei.*;

class SunRise

{

public

static void main(String args[ ])

{

SquareEquation equation=new SquareEquation(4,5,1);

equation.getRoots();

equation.setCoefficient(-3,4,5);

equation.getRoots();

}

}

java实验类与对象_【实验课件】上机实践2  类与对象相关推荐

  1. mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf

    实验六 SQL语言数据查询语言DQL 实验六 SQL 语言数据查询语言DQL 一.实验目的 数据查询语言指对数据库中的数据查询.统计.分组.排序等操作.查询语 句可以分为简单查询.连接查询.嵌套查询和 ...

  2. python语言的实验心得体会范文_实验心得体会四篇

    实验心得体会四篇 导读: 本文 实验心得体会四篇,仅供参考,如果能帮助到您,欢迎点 评和分享. 下面是整理的实验心得体会范文,欢迎阅读参考. 实验心得体会 ( 一 ) 时间过得真快,不经意间,一个学期 ...

  3. python语言的实验心得体会范文_实验心得体会-精选范文

    第 1 页 2019 年实验心得体会 我们做实验不要一成不变和墨守成规, 应该有改良创新的精 神. 实际上, 在弄懂了实验原理的基础上, 我们的时间是充分的, 做实验应该是游刃有余的,如果说创新对于我 ...

  4. c++模板类静态成员变量_一文讲透父子类中静态变量,成员变量初始化顺序原理...

    推荐: 从面试到入职到离职,我在B站工作的30天时光 爱了爱了,Alibaba顶级MySQL调优手册到手,加薪妥了 爱了爱了,Spring Cloud Alibaba内部微服务架构笔记真的太牛了 本文 ...

  5. python 类静态属性_如何从Python中的类中引用静态属性?

    您面临的问题是因为您不了解类声明的作用域是如何工作的.类声明在其自己的作用域内执行.执行完成后,将创建一个新的类对象,并将获得的范围作为其__dict__附加到该类.在 注意:类范围是从方法范围内搜索 ...

  6. python3迭代器和可迭代对象_一文读懂 Python3 可迭代对象、迭代器、生成器区别...

    笔者学习Python已有一段时间,一直以为对于可迭代对象(iterable).迭代器(iterator).生成器(generator)有一定理解了,直到看到<流畅的python>中的讲解才 ...

  7. java实验七输入输出流_实验七 输入输出流

    java 程序设计实验 实验七 输入输出流(2) 一.实验目的 输入和输出是Java的核心功能之一.本节学习了Inputstream和OutputStream,Reader,Writer的几个子类,通 ...

  8. JAVA实现中点画线_实验1-中点画线和Bresenham画线算法的实现

    <实验1-中点画线和Bresenham画线算法的实现>由会员分享,可在线阅读,更多相关<实验1-中点画线和Bresenham画线算法的实现(9页珍藏版)>请在人人文库网上搜索. ...

  9. java实验七输入输出流_实验六_Java的输入输出流

    JAVA的输入输出流 实验六 Java的输入输出流 实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写.二进制文件读写 实验环境 JDK1.4以上版本, Eclipse集成开发环境 ...

最新文章

  1. 移动端调用电话、短信、唤起QQ和使用百度地图
  2. python的命名空间_python中命名空间的三种方式介绍(附示例)
  3. 垂直梯形校正画质损失多少_梯形校正功能是怎么实现的?其中可大有学问
  4. myeclipse 项目改名404
  5. 已经人均5G了?5G手机没人买,iPhone 11没5G该不该被嘲讽?
  6. java向kafka推送数据_Java编写程序将数据存入Kafka中
  7. 21- vue django restful framework 打造生鲜超市 -首页商品分类显示功能
  8. 女生转行成为程序员的顾虑和优势
  9. 用txt写的mysql数据库_TXT怎么导入mySQL数据库
  10. python银行卡号生成器_python面向对象编程实例---银行账号
  11. 使用ffmpeg转换webm格式到MP4格式
  12. 分布式光纤振动传感技术在电力电缆管道防外力破坏的应用
  13. 基于VHDL语言的多人表决器的设计
  14. delphi 运算符
  15. java调用后台的短信验证码_JAVA通过http调用验证码短信接口源码
  16. linux中萌翻了的cowsay命令
  17. java内存泄露direct_详解SpringCloudGateway内存泄漏问题
  18. alpha测试和beta测试的区别 .
  19. 关于java字符流Reader.read()方法的个人理解
  20. 交换内存SWAP使用率90%

热门文章

  1. winform checkedlistbox不显示复选框_据说90%的人都不知道怎么解决这个Word问题
  2. 网站如何进行渠道跟踪_网站前期要如何进行SEO优化?
  3. linux mysql 编码修改吗_Linux下mysql 修改编码
  4. Docker部署MySQL5.7主从复制结构
  5. RHEL 8 - CIS安全合规基线、SCAP、SSG和合规扫描、漏洞扫描
  6. VG SketchPad编辑器——可嵌入的jQuery插件
  7. 在Blazor中构建数据库应用程序——第1部分——项目结构和框架
  8. 如何创建从Visual Studio到Wolfram Mathematica的简单调用
  9. WSL 1 运行 Ubuntu 20.04 将会出现问题
  10. Odoo10参考系列--QWeb报表