好久没有写过东西了,最近正在看agile java (测试驱动开发)这本书,其开发思想方面的不再细说,下面这个是前两天在QQ群里的群友求助的——等比数列前N项和的算法,根据测试驱动开发的思想,写了这个方法,但我知道还有很多不足之处,请高手多多指教,谢谢!
一、先看测试类ComparesTest代码:
import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class ComparesTest { private Compares compares; static final double ACTUAL = 0.05; @Before public void setUp() { compares = new Compares(); } @Test public void testFactorial() { Assert.assertEquals(4, compares.getFactorial(2, 2)); } @Test public void testCompareSum() { int n = compares.getCompareSum(5, 2, 5); System.err.println(n); System.err.println(compares.getCompareSum(0.5,0.5, 5)); Assert.assertEquals(315, n, ACTUAL); } @Test public void testSum() { System.err.println(compares.getCompareSum(2, 5)); Assert.assertEquals(3, compares.getCompareSum(2, 1)); } }
二、计算等比数列类Compares代码:
/** *