一、实验过程:

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. Nginx与浏览器缓存

    Nginx与浏览器缓存 一.浏览器对缓存的处理:Internet选项 ★ 控制请求服务器策略:是忽略资源的缓存策略的情况下额外强制请求服务器的意思.  ★ 检查存储的页面较新版本 1.每次访问网页时  ...

  2. CentOS7.3安装mysql数据库

    Mysql数据库安装 1.环境 操作系统:CentOS 7.3 软件:MySQL 5.7 下载链接:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5 ...

  3. 【树形DP】洛谷P1352_没有上司的舞会

    本人第一篇Blog,初学树形DP,心情别样鸡冻... 好了废话不多说,我们来看看题目[传送门] 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是 ...

  4. 英语linux+英语firefox+英语Oracle OEM如何设置成显示日语

    1 linux安装盘挂载,安装日语语言包 2 linux的系统语言设置为日语 3 firefox的 edit-> setting -> contents -> language se ...

  5. 人脸检测——MTCNN

    人脸检测——MTCNN .

  6. 一维码Code 39简介及其解码实现(zxing-cpp)

    一维码Code 39:由于编制简单.能够对任意长度的数据进行编码.支持设备广泛等特性而被广泛采用. Code 39码特点: 1. 能够对任意长度的数据进行编码,其局限在于印刷品的长度和条码阅读器的识别 ...

  7. 【LNOI2014】LCA

    题面 题解 考察\(dep[\mathrm{LCA}(i, x)]\)的性质,发现它是\(i\)和\(x\)的链交的长度. 那么对每个\(i\)所在的链打一个区间加标记,询问时算一下\(x\)所在的链 ...

  8. 洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX

    洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX 点击进入FakeHu的模拟退火博客 神仙模拟退火...去看fakehu的博客吧...懒得写了... 因为精度问题要在求得的最优解附近(大约 ...

  9. javaweb 解决jsp中${}传递中文值到后端以及get请求中文乱码的问题

    首先,不要用get传中文,我试了一些方法发现不行,所以果断决定用post传参, 这里用 encodeURI 进行一次编码传入后端 注意:${tplname} 要加 ' $.ajax({ url: '/ ...

  10. 对最近java基础学习的一次小结

    开头想了3分钟,不知道起什么名字好,首先内容有点泛,但也都是基础知识. 对之前所学的java基础知识做了个小结,因为我是跟着网上找的黑马的基础视频看跟着学的,10天的课程硬生生给我看了这么久,也是佛了 ...