20145313第二次实验

本文介绍了一个用于处理复数运算的Java类Complex,并通过单元测试验证了加法、减法、乘法和除法等操作的正确性。此外,还展示了如何使用异常处理来应对除数为零的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20145313第二次实验

单元测试

代码实现
885194-20160414202207316-1676681715.png

测试用例
885194-20160414202217535-382405466.png
885194-20160414202225332-679259723.png
885194-20160414202232004-127542367.png
885194-20160414202240051-1439855964.png

找到BUG,进行修改
885194-20160414202251770-374896614.png

TDD测试用例
885194-20160414202304613-1626094339.png

建立MyUtil类并测试
885194-20160414202313848-367708356.png

模块化
885194-20160414202323707-281743996.png

UML建模
885194-20160414202332535-1304106467.png
继承
885194-20160414202505363-1690632884.png

练习

源代码

package exp2;
public class Complex {
protected int a;
protected int b;
public Complex(int a, int b) {
this.a = a;
this.b = b;
}

public String toString() {
return this.a + " + " + this.b + "i";
 }

public static Complex addition(Complex complex1, Complex complex2) {
  int a = complex1.a + complex2.a;
int b = complex1.b + complex2.b;
return new Complex(a, b);
}

public static Complex subtract(Complex complex1, Complex complex2) {
int a = complex1.a - complex2.a;
int b = complex1.b - complex2.b;
return new Complex(a, b);
}

public static Complex multiplication(Complex complex1, Complex complex2) {
int a = complex1.a * complex2.a - complex1.b * complex2.b;
int b = complex1.b * complex2.a + complex1.a * complex2.b;
return new Complex(a, b);
}

public static Complex division(Complex complex1, Complex complex2) throws Exception {
if (complex2.a == 0) {
throw new Exception("complex2.a is 0");
}
if (complex2.b == 0) {
throw new Exception("complex2.b is 0");
}
int a = (complex1.a * complex2.a + complex1.b * complex2.b) / (complex2.a * complex2.a + complex2.b * complex2.b);
int b = (complex1.b * complex2.a - complex1.a * complex2.b) / (complex2.a * complex2.a + complex2.b * complex2.b);
return new Complex(a, b);
 }
}

测试代码

package exp2;
public class Comtest {
 public static void main(String[] args) throws Exception{
 Complex complex1 = new Complex(1, 2);
    Complex complex2 = new Complex(3, 4);
System.out.println(complex1 + " + " + complex2 + " = " + Complex.addition(complex1, complex2));
System.out.println(complex1 + " - " + complex2 + " = " + Complex.subtract(complex1, complex2));
System.out.println(complex1 + " x " + complex2 + " = " + Complex.multiplication(complex1, complex2));
 System.out.println(complex1 + " / " + complex2 + " = " + Complex.division(complex1, complex2));
}
}

测试截图

885194-20160414202345004-387040978.png

步骤耗时百分比
需求分析20min5
设计20min20
代码实现50min50
测试20min15
分析总结20min10

转载于:https://www.cnblogs.com/entropy/p/5392565.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值