public class NumberUtil { /*判断输入的数字是否为素数*/ public Boolean isPrime(int num){ for(int i=2;i<Math.sqrt(num);i++){ if(num%2==0) return false; } return true; } /*判断输入的数字是否满足能被7或9整除但不能被2或5整除*/ public boolean isDivisible(int num){ if(((num%7==0)||(num%9==0))&&(num%5!=0&&num%2!=0)){ return true; } else{ return false; } } } 要求: (1)在eclipse创建NumberUtil类 (2)使用eclipse编写JUnit单元测试(编写isPrime和isDivisible方法的测试用例)。
时间: 2023-12-10 21:40:33 浏览: 71
下面是NumberUtil类的实现和对应的JUnit单元测试用例:
NumberUtil.java
```
public class NumberUtil {
/*判断输入的数字是否为素数*/
public Boolean isPrime(int num){
if(num < 2) {
return false;
}
for(int i=2; i<=Math.sqrt(num); i++){
if(num % i == 0) {
return false;
}
}
return true;
}
/*判断输入的数字是否满足能被7或9整除但不能被2或5整除*/
public boolean isDivisible(int num){
if(((num % 7 == 0) || (num % 9 == 0)) && (num % 5 != 0 && num % 2 != 0)){
return true;
} else {
return false;
}
}
}
```
NumberUtilTest.java
```
import static org.junit.Assert.*;
import org.junit.Test;
public class NumberUtilTest {
@Test
public void testIsPrime() {
NumberUtil util = new NumberUtil();
assertTrue(util.isPrime(2));
assertTrue(util.isPrime(3));
assertTrue(util.isPrime(5));
assertTrue(util.isPrime(7));
assertTrue(util.isPrime(11));
assertTrue(util.isPrime(13));
assertFalse(util.isPrime(1));
assertFalse(util.isPrime(4));
assertFalse(util.isPrime(6));
assertFalse(util.isPrime(8));
assertFalse(util.isPrime(9));
assertFalse(util.isPrime(10));
assertFalse(util.isPrime(12));
assertFalse(util.isPrime(14));
}
@Test
public void testIsDivisible() {
NumberUtil util = new NumberUtil();
assertTrue(util.isDivisible(7));
assertTrue(util.isDivisible(9));
assertTrue(util.isDivisible(14));
assertTrue(util.isDivisible(18));
assertTrue(util.isDivisible(21));
assertFalse(util.isDivisible(2));
assertFalse(util.isDivisible(5));
assertFalse(util.isDivisible(10));
assertFalse(util.isDivisible(15));
assertFalse(util.isDivisible(20));
}
}
```
注意:在判断素数时,需要注意num小于2的情况;在判断是否满足能被7或9整除但不能被2或5整除时,需要注意括号的使用。