JAVA第二个实验报告,20145320《Java程序设计》第二次实验报告

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

北京电子科技学院(BESTI)实验报告

课程:Java程序设计

班级:1453

指导教师:娄嘉鹏

实验日期:2016.04.12 15:30-18:30

实验名称:Java开发环境的熟悉

实验内容:

初步掌握单元测试和TDD

理解并掌握面向对象三要素:封装、继承、多态

初步掌握UML建模

熟悉S.O.L.I.D原则

了解设计模式

使用TDD的方式设计关实现复数类Complex

步骤:

1.编写计算复数类Complex,分为加减乘置数四种情况。

伪代码如下

public class Complex {

double real=0;//实部

double imaginary=0;//虚部

Complex(){}

getComplex(double real,double imaginary)

{

this.real=real;

this.imaginary=imaginary;

}

add(Complex c1){//加法

c.real=c1.real+this.real;

c.imaginary=c1.imaginary+this.imaginary;

return c;

}

multi(Complex c1){//乘法

c.real=c1.real*this.real-c1.imaginary*this.imaginary;

c.imaginary=c1.imaginary*this.real+this.imaginary*c1.real;

return c;

}

Minus(Complex c1){//减法

c.real=c1.real-this.real;

c.imaginary=c1.imaginary-this.imaginary;

return c;

}

}

产品代码如下

package experiment2;

public class Complex {

private double real=0;//实部

private double imaginary=0;//虚部

Complex(){}

public void getComplex(double real,double imaginary)

{

System.out.println("set");

this.real=real;

this.imaginary=imaginary;

}

public Complex add(Complex c1){//加法

Complex c=new Complex();

System.out.println("add");

c.real=c1.real+this.real;

c.imaginary=c1.imaginary+this.imaginary;

return c;

}

public Complex multi(Complex c1){//乘法

Complex c =new Complex();

System.out.println("multi");

c.real=c1.real*this.real-c1.imaginary*this.imaginary;

c.imaginary=c1.imaginary*this.real+this.imaginary*c1.real;

return c;

}

public Complex Minus(Complex c1){//减法

System.out.println("Minus");

Complex c =new Complex();

c.real=c1.real-this.real;

c.imaginary=c1.imaginary-this.imaginary;

return c;

}

public double GetRealPatr(){//获得实部

return this.real;

}

public double GetimaginaryPatr(){//获得虚部

return this.imaginary;

}

public Object tostring(){//合成一个a+bi字符串

Object a=new Object();

if(imaginary>0)

a=this.real+"+"+this.imaginary+"i";

if(imaginary==0)

a=this.real;

if(imaginary<0)

a=this.real+""+this.imaginary+"i";

System.out.println(a);

return a;

}

}

test如下

test1

105f0d93bbf15a575b08ee276a95595c.png

测试项目:

实部赋负数

虚部赋负数

取c1实部与虚部

输出字符串c2、x、y、z

置数方法、加法方法、减法方法、乘法方法

测试结果

a54e9aeb5cd52b8b1a39c93a15e7cbcb.png

test2

8523a5cecdf292351c755810a328dd70.png

测试项目:

虚部实部均为负数

负复数与正复数相乘

测试结果

f80c3c365ceac1c813491c98fced1ca4.png

test3

cf9a0716bc95eb5db0db439961f3aaf8.png

测试项目

虚部实部输入负小数

负复小数与正复小数相乘

出现错误了!错误在这里,这里定义了虚、实部均为int,其实可为double型

public void getComplex(int real,int imaginary)

{

System.out.println("set");

this.real=real;

this.imaginary=imaginary;

}

修改代码后测试结果

775b431957ec42ea729f95d98de8ff36.png

建立的模型如下

2826dd487405a9a2cbd0b0b0bde15ddd.png

从模型中可以看见在Complex类中定义了如下方法:

首先定义了实部real与虚部imaginary,并赋初值0

getComplex()方法用于置数

add()方法用于两个复数相加

multi()方法用于两个复数相乘

Minus()方法用于两个复数相减

GetRealPatr()方法得到实部

GetimaginaryPatr()方法得到实部

tostring()方法把复数结合成为a+bi形势的字符串

PSP(Personal Software Process)时间

步骤

耗时

百分比

需求分析

24min

13.3%

设计

36min

20%

代码设计

60min

33.3%

测试

40min

22.2%

分析总结

20min

11.1%

单元测试的好处

减少问题出现,提高程序质量,在测试中进行项目,边改边写,可以将自己设计的项目不断优化

更快地定位问题出现在哪个模块,提高效率,减少成本,这有助于实现模块的“块内高内聚,块间低耦合”

可以放心修改部分代码

java程序设计第二次实验报告

北京电子科技学院(BESTI) 实验报告 课程:数据结构    班级:1352    姓名:何伟钦     学号:20135223 成绩:            指导教师:娄嘉鹏      实验日期: ...

20145320《Java程序设计》第一次实验报告

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

20155339《java程序设计》第一次实验报告

20155339第一次实验报告 实验一 java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序: 2.使用IDEA编辑.编译.运行.调试java程 ...

20145330《Java程序设计》第一次实验报告

20145330第一次实验报告 实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...

20145240 《Java程序设计》第一次实验报告

20145240 第一次实验报告 实验内容 一.命令行下java程序开发 1.建立Code目录,输入mkdir 20145240命令建立实验目录,并使用dir命令查看目 ...

学号20155311 2016-2017-2 《Java程序设计》第一次实验报告

课程:Java程序设计 实验名称:Java开发环境的熟悉 实验目的与要求: 没有Linux基础的同学建议先学习 课程: 完成实验. ...

20145216史婧瑶《Java程序设计》第一次实验报告

实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

20145238-荆玉茗 《Java程序设计》第一次实验报告

实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

20145235 《Java程序设计》第一次实验报告

实验一Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验知识点 1.JVM.JRE.JDK的安装位置与区 ...

随机推荐

关于input的file框onchange事件触发一次失效的新的解决方法

在google了众多方法后,网上有这么几种方法: 1.替换掉原来的input框 2.remove原来的input框,然后在添加进新的一样的input框 但是不知道为什么非常不幸的是,怎么弄我都弄不出. ...

Oauth支持的5类 grant&lowbar;type 及说明

authorization_code 授权码模式(即先登录获取code,再获取token) password 密码模式(将用户名,密码传过去,直接获取token) client_credentials ...

android文件和图片的处理工具类&lpar;一&rpar;

package com.gzcivil.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileO ...

(一)Servlet简介

相关名词解释 HTML:Hyper Text Markup Language,超文本标记语言 HTTP:Hyper Text Transfer Protocol,超文本传输协议 URL:Uniform ...

Windows server 2012 install &period;net core sdk 2&period;2&period;103

Windows8.1-KB2919442-x64 Windows8.1-KB2919355-x64 vc_redist.x64 dotnet-sdk-2.2.103-win-x64 dotnet-ho ...

Go Web:数据存储&lpar;2&rpar;——CSV文件

存储到CSV文件中 1.内存存储 2.CSV文件存储 3.gob序列化存储 本文接上一篇:内存存储. 关于CSV文件的说明,见csv文件格式 当数据存储到了内存中,可以在需要的时候持久化保存到磁盘文件 ...

【Java】【2】String和List相互转换

正文: 1,String转List //常见的为逗号分隔 String str = "a,b,c"; List list1 = Arrays.asLis ...

git基础使用——TortoiseGit

一.初识git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制 ...

leetcode 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入: ["flower","flow" ...

&lbrack;Erlang06&rsqb;在Erlang shell怎么在目录A下编译目录B下的文件,并把生成文件统一放置目录C?

问题描述: 我们想快速测试一个小功能,第一个反应就是打开Erl shell 直接输入,但是当想测试一个复杂的函数时,一般会写成一个*.erl文件,然后在shell下: cd(FileDir). c(F ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值