实验三

1、 计算整数X和整数Y的最大公约数。(不允许采用课堂上所用的方式实现)

l  请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名。

l  在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。

l  利用FindBugs查找程序中是否存在bug。

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

 

 

public class qwe {

 

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int a = 0;

 System.out.print("请输入m:");

 BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));

 try {

a=Integer.parseInt(strin.readLine());

} catch (NumberFormatException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

int b = 0;

 System.out.print("请输入一个n:");

 BufferedReader strin2=new BufferedReader(new InputStreamReader(System.in));

 try {

b=Integer.parseInt(strin2.readLine());

} catch (NumberFormatException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

int flag = 0;

for (int i = 1; i <= a; i++) {

if(a%i==0){

if(b%i==0){

flag=i;}

}

}

System.out.println("最大公约数为"+flag);

}

 

2、 逻辑覆盖的应用

l  按照所给的程序流程图,分别写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径

l  附加题:根据程序流程图,写出代码(定义一个类和方法来实现),用JUnit生成单元测试,并利用前面设计的测试用例进行测试。

import java.util.Scanner;

public class SHY {
public void shu(int a ,int b){
if(a<=4||b>0){
if (b>1){
b=b+1;
System.out.println("y="+b);
System.out.println("h="+a);
}else{
System.out.println("y="+b);
System.out.println("h="+a);
}
}if(a>=5){
a=a-b;
System.out.println("y="+b);
System.out.println("h="+a);
}else if{
a=b+a;
System.out.println("y="+b);
System.out.println("h="+a);
}
return;


}
public static void main(String[] args) {

SHY Hui = new SHY();
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数: ");
int s=in.nextInt();
System.out.println("请输入另一个数: ");
int h=in.nextInt();
}
}

posted @ 2016-04-11 17:18  苏汇雨  阅读(103)  评论(0编辑  收藏  举报