标签:*** final iso break standard username bre integer 实验
一、习题答案
a、控制流图
b.将MAXPRIMES设置为4时,t2会发生数组越界错误,但t1不会发生错误。
c.令numPrimes=1.
d.
点覆盖:{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}
边覆盖:{(1,2),(2,3),(3,4),(4,5),(5,6),(6,8),(8,5),(6,7),(7,9),(5,9),(9,10),(9,11),(10,11),(11,2),(2,12),(12,13),(13,14),(14,15),(15,13),(13,16)}
主路径覆盖:{(1,2,3,4,5,6,8),(1,2,3,4,5,6,7,9,10,11),(1,2,3,4,5,6,7,9,11),(1,2,3,4,5,9,11),(1,2,3,4,5,9,10,11),(5,6,8,5),(6,8,5,6),(8,5,6,8),(8,5,6,7,9,11),(8,5,6,7,9,10,11),(1,2,12,13,16),(1,2,12,13,14,15),(13,14,15,13),(14,15,13,14),(15,13,14,15),(14,15,13,16),(15,13,16)}
e. [0, 1, 2, 3, 4, 6, 3, 4, 5, 7, 8, 9, 1, 10, 11, 12, 13, 11, 14]/
f. [0 1 2 3 4 6 3 7 8 9 1 2 3 4 5 7 9 1 2 3 4 6 3 4 6 3 7 8 9 1 10 11 12 13 11 12
13 11 12 13 11 14]
二、printPrimes代码
package tju.primes;
import javax.print.attribute.standard.RequestingUserName;
public class Method {
private static final int MAXPRIMES = 100;
/*******************************************************
* Finds and prints n prime integers
* Jeff Offutt, Spring 2003
******************************************************/
public static String printPrimes (int n)
{
String prime = new String();
int curPrime; // Value currently considered for primeness
int numPrimes; // Number of primes found so far.
boolean isPrime; // Is curPrime prime?
int [] primes = new int [MAXPRIMES]; // The list of prime numbers.
// Initialize 2 into the list of primes.
primes [0] = 2;
numPrimes = 1;
curPrime = 2;
while (numPrimes < n)
{
curPrime++; // next number to consider ...
isPrime = true;
for (int i = 0; i <= numPrimes-1; i++)
{ // for each previous prime.
if (curPrime%primes[i]==0)
{ // Found a divisor, curPrime is not prime.
isPrime = false;
break; // out of loop through primes.
}
}
if (isPrime)
{ // save it!
primes[numPrimes] = curPrime;
numPrimes++;
}
} // End while
// Print all the primes out.
for (int i = 0; i <= numPrimes-1; i++)
{
prime += primes[i] + " ";
}
return prime;
} // end printPrimes
}
package tju.primes;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class TestMethod {
Method met;
@Before
public void setUp() throws Exception {
met = new Method();
}
@After
public void tearDown() throws Exception {
}
@Test
public void test1() {
assertEquals("2 3 5 ", met.printPrimes(3));
}
@Test
public void test2() {
assertEquals("2 3 5 7 11 ", met.printPrimes(5));
}
}
四、junit测试结果
五、Elemma测试结果
标签:*** final iso break standard username bre integer 实验
原文地址:http://www.cnblogs.com/lxc017/p/6551339.html