/******************************************************* * Finds and prints n prime integers * Jeff Offutt, SPR ING 2003 ******************************************************/ Public Static voidPrintprimes (intN) {intCurprime;//Value currently considered for primeness intNumprimes;//Number of primes found so far. BooleanIsPrime;//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(inti = 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(inti = 0; I <= numPrimes-1; i++) {System.out.println ("Prime:" +Primes[i]); } } //End Printprimes
Problem one: Draw the control flow graph:
Problem two: Design a t2= (n=5) can find but t1= (n=3) can't find the error
Problem three: Looking for a set of test cases that do not pass through while loops
You can meet your requirements when you n=1.
Question four: All TR required to find the point overlay, Edge overlay, and master path coverage
Point overlay:
{(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)}
Side overrides {(0,1), (2,3), (3,4), (4,5), (5,6), (6,7), (7,8), (8,5), (5,9) (9,2), (9,10), (10,2), (2,11), (2,12), (12,13), (13, 14) (14,12) (12,15)} main path overrides: {(0,1,2,3,4,5,6,7,8)), (0,1,11,12,13,14), (0,1,11,12,15), (0,1,2,3,4,5,9,10), (5,6,7,8,5), (2,3,4,5,9,2), (2,3,4,5,9,10,2)} question five test cases covered by any programming master path
Public classTriangle {protected LongLbordera = 0; protected LongLborderb = 0; protected LongLBORDERC = 0; //Constructor PublicTriangle (LongLbordera,LongLborderb,LongLborderc) { This. Lbordera =Lbordera; This. Lborderb =Lborderb; This. Lborderc =Lborderc; } /*** Check if it is a triangle * *@returntrue for triangle and false not*/ Public BooleanIstriangle (Triangle Triangle) {BooleanIstriangle =false; //Check Boundary if((Triangle.lbordera > 0 && triangle.lbordera <=long.max_value)&& (Triangle.lborderb > 0 && triangle.lborderb <=long.max_value)&& (Triangle.lborderc > 0 && triangle.lborderc <=long.max_value)) { //Check if subtraction of border larger than the third if(Diffofborders (Triangle.lbordera, Triangle.lborderb) <Triangle.lborderc&& diffofborders (Triangle.lborderb, TRIANGLE.LBORDERC) <Triangle.lbordera&& diffofborders (TRIANGLE.LBORDERC, Triangle.lbordera) <triangle.lborderb) {Istriangle=true; } } returnIstriangle; } /*** Check the type of triangle * * consists of "illegal", "Regular", "Scalene", "Isosceles"*/ Publicstring GetType (Triangle Triangle) {string Strtype= "illegal"; if(Istriangle (triangle)) {//is Regular if(Triangle.lbordera = =Triangle.lborderb&& Triangle.lborderb = =Triangle.lborderc) {strtype= "Regular"; } //If Scalene Else if((Triangle.lbordera! =Triangle.lborderb)&& (Triangle.lborderb! =Triangle.lborderc)&& (Triangle.lbordera! =Triangle.lborderc)) {strtype= "Scalene"; } //if Isosceles Else{strtype= "Isosceles"; } } returnstrtype; } /*** Calculate the diff between borders * **/ Public LongDiffofborders (LongALongb) {return(A > B)? (a): (B-a); } /*** Get length of borders*/ Public Long[] GetBorders () {Long[] borders =New Long[3]; borders[0] = This. Lbordera; borders[1] = This. Lborderb; borders[2] = This. Lborderc; returnborders; }}
Import Staticorg.junit.assert.*;ImportOrg.junit.AfterClass;Importorg.junit.Test; Public classtriangletest {@Test Public voidTest () {Long[]str={2,2,3}; Triangle T=NewTriangle (2, 2, 3); Triangle T1=NewTriangle (2, 2, 2); Triangle T2=NewTriangle (2, 3, 4); Triangle T3=NewTriangle (2, 2, 4); Assertequals (T.istriangle (t),true); Assertequals (T.gettype (t),"Isosceles" ); Assertequals (T1.gettype (t1),"Regular"); Assertequals (T2.gettype (T2),"Scalene" ); Assertequals (T3.gettype (T3),"Illegal" ); Assertequals (T.diffofborders (2, 3), 1); Assertarrayequals (T.getborders (), str); }}
Work on software test books