1、 计算整数X和整数Y的最大公约数。
l 请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名。
l 在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。
l 利用FindBugs查找程序中是否存在bug。
Demo类
package cn.yu.test;
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Method m =new Method();
m.index();
}
}
Method类
package cn.yu.test;
public class Method {
public void index(){
int n=24,t=60;
int min =Math.min(n, t);
for(int k=min;k>0;k--){
if(n%k==0 && t%k==0){
System.out.println(n+"和"+t+"的最大公约数为:"+k);
return;
}
}}
}
2、 逻辑覆盖的应用
l 按照所给的程序流程图,写出Java代码(用类和方法实现)
l 写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试
l 测试用例(语句覆盖):
x | y | 结果 | 路径 |
3 | 2 | Y+1=3 x=3 | abd |
3 | 1 | 不变 | abc |
6 | -1 | x-y=7 | aeg |
4 | -1 | X+y=3 | aef |
l 测试用例(分支覆盖):
X<4 or y>0 | x>5 | Y>1 | 用例 | 结果 | 路径 |
T | F |
| X=3,y=1 | 不变 | abc |
T | T |
| X=3,y=2 | Y+1=3 x=3 | adb |
F |
| F | X=6,y=-1 | x-y=7 | aeg |
F |
| T | X=4,y=-1 | X+y=3 | aef |
代码
package cn.yu.test;
public class Methods {
public void indexs(){
int x = 5,y = 6;
if(x<4 || y>0){
if(y>1){
y=y+1;
System.out.println("x结果是:"+x);
System.out.println("y+1结果是:"+y);
}
else{
System.out.println("x结果是:"+x);
System.out.println("y结果是:"+y);
}
}
else{
if(x>=5){
x=x-y;
System.out.println("x-y结果是:"+x);
}
else{
x=x+y;
System.out.println("x+y结果是:"+x);
}
}
}
}
package cn.yu.test;
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Methods m =new Methods();
m.indexs();
}
}