一、实验过程:

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. 拥抱.NET Core系列:MemoryCache 缓存选项 (转载)

    阅读目录 MSCache项目 MemoryCacheOptions ExpirationScanFrequency SizeLimit CompactionPercentage 写在最后 在上一篇 ” ...

  2. (oralce)pga_aggregate_target与workarea_size_policy相互关系验证

    pga_aggregate_target与workarea_size_policy相互关系验证 先放上结论: 1. 当pga_aggregate_target设置为非0, 手工设置(workarea ...

  3. Gym100025K

    矩阵快速幂 设答案为f(i) 举个例子: 当i==2时,包含0的值有:10,20,30,40,50,60,70,80,90,100:0的个数为11,f(2)=11; i==3时;可以从i==2的情况递 ...

  4. PHP各环境下的伪静态配置

    一.Apache的伪静态配置 1.网站根目录下需要有 .htaccess 文件,没有则自己创建一个,内容为 <IfModule mod_rewrite.c> RewriteEngine o ...

  5. 基于Verilog的奇数偶数小数分频器设计

    今天呢,由泡泡鱼工作室发布的微信公共号“硬件为王”(微信号:king_hardware)正式上线啦,关注有惊喜哦.在这个普天同庆的美好日子里,小编脑洞大开,决定写一首诗赞美一下我们背后伟大的团队,虽然 ...

  6. 所有权链(Ownership Chain)

    所有权链(Ownership Chain)是特殊的权限评估方式,常见拥有所有权的数据库对象是:数据库对象,数据库角色(Role),和架构(Schema),在创建数据库角色,或架构时,SQL Serve ...

  7. ipa包兼容性大作战!WeTest iOS深度兼容测试全新升级

    2018年,移动端适配话题热闹无比,有iOS新版本新机型发布,全面屏.异形屏.曲面屏争相斗艳,从而产生了各类特殊的屏幕分辨率设备. 正是因为这些特殊分辨率,导致2018年手机设备频繁出现适配问题,如屏 ...

  8. 高大上网站-CSS3总结1-图片2D处理以及BUG修复

    高大上网站-CSS3总结1-图片2D处理以及BUG修复 一,前言: 现在的前端UI相对JS来说,重视并不够. 但是CSS3提供的新特性,将现在的网站赤裸裸的划分为两类:一类还在写着老旧样式,或者通过b ...

  9. spring cloud网关通过Zuul RateLimit 限流配置

    目录 引入依赖 配置信息 RateLimit源码简单分析 RateLimit详细的配置信息解读 在平常项目中为了防止一些没有token访问的API被大量无限的调用,需要对一些服务进行API限流.就好比 ...

  10. hdu2844Coins(多重背包模板)

    Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...