一、实验过程:

1.先创建一个学号命名的文档:

2.一个百分制成绩转化为等级:

3.新建一个包,另一个测试:

4.打开UML,建模软件umbrello进行建模:

相关程序:

5.我的保存:

二、遇到的问题以及解决方法:

这次的实验总体上比较顺利,就是自己边做边想花费了很多的时间。但还是遇到了一些小问题。

比如说:实验指导上对于UML建模由Cat和Dog变为Animal包括Cat和Dog的模型图这一部分的变化讲的不是很详细,

所以我已开始不会做。但是后来明白Animal 也是需要自己新建立的,所以后来彻底明白了这个实验中UML的用法。

也会自己画连接线。

三、PSP时间统计:

步骤         耗时百分比

需求分析           40%

设计               20%

代码实现            10%

测试                10%

分析总结             20%

四、使用TDD的方法设计并实现复数类Complex

1.产品代码:

public class Complex {

//实部realpart,虚部imaginPart
   private double realPart;
   private double imaginPart;

//复数类Complex()构造函数,将实部虚部都置为0
   public Complex(){
           this.realPart = 0;
           this.imaginPart = 0;
    }

//Complex(double r,double i)创建复数对象的同时完成复数的实部,虚部的初始化
   public Complex(double r,double i){
          this.realPart = r;
          this.imaginPart = i;
   }

//getRealPart()获取实部
   public double getRealPart(){
         return realPart;
   }

//getImaginaryPart()获取虚部
   public double getImaginaryPart(){
          return imaginPart;
   }

//setRealPart(double d)设置实部
   public void setRealPart(double d){
         this.realPart = d;
   }

//setImaginaryPart(double d)设置虚部
         public void setImaginaryPart(double d){
         this.imaginPart = d;
   }

//add(Complex c)复数相加
          public void add(Complex c1,Complex c2){
          Complex c = new Complex(c1.realPart+c2.realPart,c1.imaginPart+c2.imaginPart);
           print(c);
   }

//minus(Complex c)复数相减
  public void minus(Complex c1,Complex c2){
         Complex c = new Complex(c1.realPart-c2.realPart,c1.imaginPart-c2.imaginPart);
         print(c);
  }

//ComplexMulti(Complex c)复数相乘
        public void ComplexMulti(Complex c1,Complex c2){
        Complex c = new Complex(c1.realPart*c2.realPart-c1.imaginPart*c2.imaginPart,c1.realPart*c2.imaginPart+c1.imaginPart*c2.realPart);
        print(c);
  }

//toString()把当前复数对象的实部,虚部组合成a+bi的字符串形式
  public void print(Complex c){
        double a = c.realPart;
        double b = c.imaginPart;
        System.out.println(a+"+"+b+"i");
  }

}

2.测试代码:

import org.junit.Test;

import junit.framework.TestCase;

public class ComplexTest extends Complex {

@Test
          public void printTest(){
          Complex c1 = new Complex(3.5,9);
          Complex c2 = new Complex(9,23);
          Complex c = new Complex();
          c.ComplexMulti(c1, c2);
          c.add(c1, c2);
          c.minus(c1, c2);
    }

}

五、体会

这次的实验并不难,但是内容很多,要看的东西也有很多。而且有了除Java编程之外,另外的东西,

例如UML建模软件。而且每次实验的感觉都是可以接触到很多新的东西,对我很有提高。

Java第二次实验20135204的更多相关文章

  1. 南京邮电大学java第二次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...

  2. java第二次实验报告

    课程:Java实验   班级:201352     姓名:池彬宁  学号:20135212 成绩:             指导教师:娄佳鹏   实验日期:15.05.05 实验密级:         ...

  3. Java 第二次实验20145104 张家明

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 ...

  4. Java第二次实验报告——Java面向对象程序设计

    北京电子科技学院(BESTI) 实    验    报    告 课程名称:java程序设计实验      班级:1352         姓名:洪韶武      学号:20135219 成绩:   ...

  5. java第二次实验

    1. 本章学习总结 答:学会在java中使用函数调用. 学会在Java程序中使用函数,使程序层次更清晰. 使用StringBuilder代替string拼接,减少内存空间的占用. 使用BigDecim ...

  6. java第二次实验报告20135231

    Java实验报告二:Java面向对象程序设计 20135231 何佳 实验要求: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉 ...

  7. 20165210 Java第二次实验报告

    20165210 实验二 Java面向对象程序设计 一.面向对象程序设计1--单元测试和TDD 实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html ...

  8. 20145330《Java程序设计》第二次实验报告

    20145330<Java程序设计>第二次实验报告 实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承多态 3.初步掌握UM ...

  9. 20145320《Java程序设计》第二次实验报告

    20145320<Java程序设计>第二次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.12 15: ...

随机推荐

  1. 史上最详细的codeblocks安装教程!!!

    codeblocks下载地址:https://www.cnblogs.com/yinbiao/p/8489748.html 下面是codeblocks具体的安装教程:

  2. 石头合并 NYOJ737 区间dp

    题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=737 石子合并(一) 时间限制:1000 ms  |  内存限制:65535 KB ...

  3. 轻量级IOC容器:Ninject

    Ninject是一个快如闪电.超轻量级的基于.Net平台的依赖注入框架.它能够帮助你把应用程序分离成一个个松耦合.高内聚的模块,然后用一种灵活的方式组装起来.通过使用Ninject配套你的软件架构,那 ...

  4. UVa 10377 - Maze Traversal

    題目:一個機器人在迷宮中行走,它的指令是方向控制(前進.左轉.右轉).給你初始位置和一些指令: 問最後停在那個位置. 分析:模擬.直接模擬就可以,注意一下細節. 假设,不能行走(邊界或者是墻壁)則停在 ...

  5. 【原型图】Mockplus

    Mockplus   原型设计工具

  6. RHEL 7.6 安装 Oracle 18c RAC

    RHEL 7.6 安装 Oracle 18c RAC 第一部分 安装规划 虚拟环境 VirtualBox 6.0 OS 版本 Red Hat Enterprise Linux Server relea ...

  7. index range scan,index fast full scan,index skip scan发生的条件

    源链接:https://blog.csdn.net/robinson1988/article/details/4980611 index range scan(索引范围扫描): 1.对于unique ...

  8. Delphi的idhttp报508 Loop Detected错误的原因

    一般是访问https时才出现“508 Loop Detected”,idhttp+IdSSLIOHandlerSocketOpenSSL,这个在上篇文章中讲过了. 由于该问题网上资料极少,连外文资料也 ...

  9. flex 自定义组件的编写

    使用flex也很久了,也改过别人写的flex自定义组件,但是就是没有系统的研究下flex组件的编写步骤,和要注意的东西,在这里我参照一本书中的例子,好好的理解下,也为了巩固下自己对flex的理解! 1 ...

  10. # 课下测试ch02

    课下测试ch02 1.假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位.下面正确的是(AD) A . 3.5的表示是[01011] B . -1.0的表示[01111] ...