实验3-类与对象


    XX学实验报告
    (3)类象
    学生姓名: 学 号: 专业班级: 网工班
    实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期: 实验成绩:
    实验目
    实验目指导读者掌握Java语言面象程序设计方法理解象封装等概念求读者调试实例程序总结出面象事务定义象形式进行封装等容
    二实验容
    1课P22186 课P23781题
    2编写名复数类包含复数实部虚部(数成员)复数间基算术运算:加减(方法成员)求复数加减运算程序运行中定复数进行运算印运算结果
    3类描述游戏角色交手次数验值生命值间关系断定角色决斗胜负
    三实验求
    1加减运算够接收类型参数实现复数实数加减复数复数加减运算
    2两游戏角色决斗角色1交手次数+1生命值-1验值+2角色2交手次数+1生命值-2验值+3验值增加50时生命值+1生命值<0判负生命值初始1000验值初始0
    3定二角色判定交手胜负关系
    4实验报告出决斗结果交手次数
    5实验报告出源代码
     四实验环境
    1PC微机
    2DOS操作系统 Windows 操作系统
    3Eclipse程序集成环境
     五实验步骤
    容:
    1创建复数类Complex定义实部虚部成员
    2定义构造函数接收二double参数初始化数成员
    3定义二复数运算函数plus()minus()接收复数类型实现复数复数加减运算
    4定义二复数运算函数plus()minus()接收double类型实现复数实数加减运算
    4定义印方法
    5main()方法中创建复数象调相关方法验证
    容二:
    1建立角色类Role出相应成员生命值验值初始化角色象
    2角色类中建立fight方法接收角色类型参数战斗返回胜者信息
    3函数中初始化二角色调fight方法

     六测试数

    七实验报告(学生完成)
    实验报告应包括部分:
    1 程序流程图
    鉴复数类Complex没复杂流程没画流程图
    角色类流程图分三部分:















    2 程序数结构设计
    复数类Complex包含:
    成员:
    double类型realimaginary分代表实部虚部
    方法:
    public Complex plus(Complex a)
    public Complex minus(Complex a)
    public Complex plus(double a)
    public Complex minus(double a)
    分进行复数复数实数加减法运算
    public String print()印复数类信息
    角色类Role包含:
    成员:
    private int life 生命值
    private int exp 验值
    private int lifeSub 次战斗生命值减少量
    private int expAdd次战斗验值增加量
    public static int num 交手次数
    private int expBase 验值增加50基准
    方法:
    私成员explifesetget方法
    public boolean fight(Role other)参数Rolefight方法
    public void fight()带参数fight方法
    3 程序源代码相关注释
    复数类源码:
    package shiyan3

    public class Complex {
    private double real
    private double imaginary

    public Complex plus(Complex a) {
    double x thisreal + agetReal()
    double y thisimaginary + agetImaginary()
    Complex tmp new Complex(x y)
    return tmp
    }

    public Complex minus(Complex a) {
    double x thisreal agetReal()
    double y thisimaginary agetImaginary()
    Complex tmp new Complex(x y)
    return tmp
    }

    public Complex plus(double a) {
    double x thisreal + a
    double y thisimaginary
    Complex tmp new Complex(x y)
    return tmp
    }

    public Complex minus(double a) {
    double x thisreal a
    double y thisimaginary
    Complex tmp new Complex(x y)
    return tmp
    }

    public String print() {
    if (thisimaginary > 0)
    return thisreal + + + thisimaginary + i
    else if (thisimaginary < 0)
    return thisreal + + thisimaginary + i
    else
    return thisreal +
    }

    public double getReal() {
    return real
    }

    public void setReal(double real) {
    thisreal real
    }

    public double getImaginary() {
    return imaginary
    }

    public void setImaginary(double imaginary) {
    thisimaginary imaginary
    }

    public Complex() {
    }参数构造方法

    public Complex(double real double imaginary) {
    thisreal real
    thisimaginary imaginary
    }

    public static void main(String[] args) {
    Complex a new Complex(1 2)
    Complex b new Complex(4 5)
    Complex c new Complex(2 3)
    Systemoutprintln(aprint() + + bprint() + 相加等 + aplus(b)print())
    Systemoutprintln(aprint() + + cprint() + 相减等 + aminus(c)print())
    Systemoutprintln(aprint() + + 12 + 相加等 + aplus(12)print())
    Systemoutprintln(aprint() + + 10 + 相减等 + aminus(10)print())
    }
    }
    角色类Role源码:
    package shiyan3

    public class Role {
    生命值
    private int life
    验值
    private int exp
    交手次数
    private int lifeSub
    private int expAdd
    public static int num
    验值增加50基准
    private int expBase

    public int getLife() {
    return life
    }

    public void setLife(int life) {
    thislife life
    }

    public int getExp() {
    return exp
    }

    public void setExp(int exp) {
    thisexp exp
    }

    public void fight() {
    life lifeSub
    exp + expAdd
    if ((exp expBase) > 50) {
    life++
    expBase + 50
    }
    }

    public boolean fight(Role other) {
    num++
    thisfight()
    otherfight()
    Systemoutprintln(第 + num + 次战斗开始)
    if (life < 0 && othergetLife() < 0) {
    Systemoutprintln(战斗结束两)
    return true
    } else if (life < 0) {
    Systemoutprintln(战斗结束角色2获胜)
    return true
    } else if (othergetLife() < 0) {
    Systemoutprintln(战斗结束角色1获胜)
    return true
    } else {
    Systemoutprintln( 角色1生命值 + life + 角色2生命值
    + othergetLife())
    Systemoutprintln( 角色1验值 + exp + 角色2验值
    + othergetExp())
    return false
    }
    }

    public Role(int life int exp int lifeSub int expAdd) {
    super()
    thislife life
    thisexp exp
    thisexpBase exp
    thislifeSub lifeSub
    thisexpAdd expAdd
    }

    public static void main(String[] args) {
    Role a new Role(1000 0 1 2)
    Role b new Role(1000 0 2 3)
    死循环两战斗直分出胜负止
    while (afight(b)) {
    }
    }
    }
    4程序运行结果分析
    复数类运行结果:

    角色类程序部分运行结果:



    八思考题(学生完成)
    1定义点类PointPoint 类属性x 轴y 轴坐标通方法setX()设置x轴坐标方法setY()设置y 轴坐标方法getX()获x 轴坐标方法getY()获y 轴坐标编写测试类PointTest 创建Point 类象测试该类
    2编程定义栈类封装栈数组判断栈空方法判断栈满方法进栈出栈

    Point类:
    package shiyan3
    class Point{
    private double x
    private double y
    public double getX() {
    return x
    }
    public void setX(double x) {
    thisx x
    }
    public double getY() {
    return y
    }
    public void setY(double y) {
    thisy y
    }
    }
    public class PointTest {

    public static void main(String[] args) {
    TODO Autogenerated method stub
    Point a new Point()
    asetX(10)
    asetY(20)
    Systemoutprintln(该点坐标(+agetX()+ +agetY()+))
    asetX(305)
    asetY(553)
    Systemoutprintln(该点坐标(+agetX()+ +agetY()+))
    }

    }
    Stack类:
    package shiyan3

    import javautilScanner

    public class Stack {
    int stacksize10
    private int[] elem
    public Stack(int stacksize) {
    elem new int[stacksize]
    thisstacksize stacksize
    }
    前栈中元素数
    private int count
    public boolean isEmpty(){
    return count0truefalse
    }
    public boolean isFull(){
    return countstacksizetruefalse
    }
    public void push(int var){
    if(thisisFull()){
    Systemoutprintln(栈已满进栈)
    return
    }
    elem[count++]var
    }
    public void pop(){
    if(thisisEmpty()){
    Systemoutprintln(栈已空进栈)
    return
    }
    count
    return
    }
    public void print(){
    Systemoutprintln(前栈中元素:)
    for(int i0i Systemoutprint(elem[i]+ )
    Systemoutprintln()
    }
    public static void main(String[] args) {
    TODO Autogenerated method stub
    Systemoutprintln(请输入栈)
    Scanner sc new Scanner(Systemin)
    int size scnextInt()
    Stack s new Stack(size)
    int op
    while(true){
    Systemoutprintln(请选择进行操作:1 进栈2 出栈 )
    opscnextInt()
    if(op1){
    Systemoutprint(请输入进栈数)
    int varscnextInt()
    spush(var)
    sprint()
    }
    else if(op2){
    spop()
    sprint()
    }
    else{
    Systemoutprintln(输入误请重新输入)
    }
    }

    }

    }


    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    杭电计组实验3-多功能ALU设计实验

    杭州电子科技大学计算机学院实验报告实验项目: 课程名称:计算机组成原理与系统结构课程设计姓名:   学号: 同组姓名:    学号:    ...

    2年前   
    378    0

    3-电视广告

    四 季 花 城 电 视 广 告 脚 本 60秒版“婴儿篇” 镜头 时间 广告内容及其画面 广告语 音乐 1 8秒 一个裸体的(一岁左右...

    15年前   
    6875    0

    2021年化学类实验室安全预案

    2021年化学类实验室安全预案为了广大教职工和学生的生命安全和实验室的安全,针对实验室可能出现的燃烧、爆炸、泄漏等事故,特制定如下安全预案。一、实验室发生燃烧时的应急处理化学类实验室存放的化学...

    1年前   
    356    0

    中考物理复习实验专题归类复习

    中考复习物理实验专题归类复习图11、如图1所示,用尺子作乐器探究决定音调高低的因素,把钢尺紧按 在桌面上,一端伸出桌边,拨动钢尺,听它振动发出的声音,同时注意钢尺振动的快慢,改变钢尺伸出桌边...

    8年前   
    856    0

    第二部分 动物实验类

    动物实验类测试题

    4年前   
    2109    0

    面向对象程序设计(C++)实验报告

    面向对象程序设计(C++)实验报告姓名:学院:数学与计算机学院 班级:10级计算机大类班 学号:实验5 单继承一、实验目的1.掌握派生的类别与方式; ...

    3年前   
    1086    0

    面向对象程序设计实验指导书

            《面向对象程序设计》 实  验  指  导  书     张家精   编 写         适用专业:     信息与计算科学        ...

    9年前   
    5854    0

    3-调查笔录

    调查笔录 调查时间: 年 月 日 时 分至 时 分 调查地点: ...

    12年前   
    27997    0

    浙江省劳动争议仲裁委员会新版统一仲裁文书——3-通知书函类3-关于终局裁决的特别告知

    关于终局裁决的特别告知一、依据《中华人民共和国劳动合同法》第四十七条的规定,下列劳动争议,除法律另有规定外,仲裁裁决为终局裁决,裁决书自作出之日起发生法律效力:(一)追索劳动报酬、工伤医疗费、...

    9年前   
    448    0

    农村4类重点对象存量危房核查整改工作方案

    农村4类重点对象存量危房核查整改工作方案为确保2019年底前全面完成全省农村危房改造任务,实现贫困农户基本住房安全有保障,根据省政府主要领导指示精神,结合我镇实际,特制定本工作方案。一、工作思...

    4年前   
    678    0

    面向对象分析与设计(UML) 综合实验报告超市管理系统

    面向对象分析与设计(UML)综合实验报告项目名称:超市管理系统目 录第1章 系统需求分析 41.1 超市管理系统业务概述 41.2 超市管理系统各子系统需求分析 51.2.1 仓库管理子系统 ...

    2年前   
    861    0

    《系统分析与设计课程设计》实验指导书(面向对象方法)

    XX大学 信息管理学院 实验指导书 实验名称: 信息系统分析与设计 实验类别: 课内实验 ...

    5年前   
    1221    0

    3-撤诉申请书

    ×××劳动争议仲裁委员会 撤诉申请书 劳动争议仲裁委员会: 申请人 对 年 月 日向贵劳动争议仲裁委员会提出仲裁申请,现提出撤回...

    13年前   
    21336    0

    3-没头脑和不高兴-教案

    设计思路:课文讲的是一对外号叫“没头脑”和“不高兴”的好朋友,一个办事经常丢三落四,一个做事总跟别人反着干,他们在仙人的帮助下,长大了,“没头脑”作了建筑师,“不高兴”当了演员。但因为自身的毛...

    6个月前   
    188    0

    辅导3-水静力学

    1、正确理解静水压强的两个特性和等压面的性质。2、掌握静水压强基本公式和物理意义,会用基本公式进行静水压强计算。

    9个月前   
    198    0

    求爱对象心理

    求爱对象心理  求爱对象心理     求爱情书是向意中人发出爱的信息。写求爱情 书的目的,无疑是要使求对象接受已方的爱情。如 设想其结果,有可能接受和可能遭到拒绝两种。当 然不置可否的回答也是...

    10年前   
    346    0

    明确广告对象

    明确广告对象  广告对象,是指广告信息的传播对象,即信息接收者,广告对象的策划目的是解决把“什么”向“谁”传达的问题。这是广告活动中最极为重要的问题。没有对象,就是无的放矢。但一个广告不可能打...

    12年前   
    724    0

    假如我是服务对象

    假如我是一名服务对象 现实工作中,我是一名普通的劳动保障工作者,由于工作岗位的原因,虽然每天跟服务对象进行着面对面,言与话的交流的机会不多。但是在每一次的接触交流中,我都在想:我们要在平凡岗...

    7年前   
    3775    0

    讲话先要看对象

    讲话先要看对象  1、讲话先要看对象   言语在某种程度上反映出一个领导者的秉性、修养。作为一个领导者,其成功口才首先应看对象,并注重策略。也就是说,说话应适时、适情、适势、适机,一切以适度、...

    12年前   
    534    0

    大学化学实验-糖、脂类、氨基酸和蛋白质的性质

    实验二十六 糖、脂类、氨基酸和蛋白质的性质【实验目的】1. 熟悉单糖、二糖和多糖的性质;2. 掌握主要糖类的鉴别;3. 掌握油脂的化学性质;4. 掌握氨基酸和蛋白质的化学性质及其鉴别方法。【...

    3年前   
    1318    0

    文档贡献者

    文***品

    贡献于2020-11-29

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档