四则运算测试与封装5.2 5.3 结对

开发环境:eclipse

结对同伴 :王逸辉

同伴博客:http://www.cnblogs.com/wyh624945780/

程序代码:

import java.util.Random;
public class JiS {
 private char[] ch = new char[] { '+', '-', '*', '/' };
 private int a;
 private int b;
 private int e;
 private int d;
 private char c;
 private String[]str=new String[10];
 private String[]stb=new String[10];
 private String ss="";
 private String sb="";
    public JiS(){
     
    }
 public String tiM(int a,int b,int e,int d){
  Random r = new Random();
  boolean flag = true;
  while (flag) {
    //  a=(int) (Math.random()*200-100);
      //a=10000;
      //b=(int) (Math.random()*200-100);
      //e=(int) (Math.random()*200-100);
      //d=(int) (Math.random()*200-100);
      try{
          if(a>1000||a<-1000||b>1000||b<-1000||e>1000||e<-1000||d>1000||d<-1000)
          {
              throw new YC();  
          }
          
      }catch(YC z)
      {
         z.fw(); 
      }

    c = ch[r.nextInt(ch.length)];
   // System.out.println(a+","+b+","+c);
   
    switch (c) {
    case '+':
    try{
      if(a>1000||a<-1000||b>1000||b<-1000||e>1000||e<-1000||d>1000||d<-1000)
            {
          
          throw new YC();
            }
            }
          catch(YC z)
            {
                z.fw();
            }
    if (a + b <= 10000) 
    {
   ss=a + "+" + b + "=" + (a + b);
   sb=b + "+" + a + "=" + (a + b);
   flag = false;
    }
     break;
    case '-':
     if (a - b >= 0) {
      ss=a + "-" + b + "=" + (a - b);
      sb=ss;
      flag = false;
     }
     break;
    case '*':
     if (a * b <= 10000) {
      ss=a + "*" + b + "=" + a * b;
      sb=b + "*" + a + "=" + a * b;
      flag = false;
     }
     break;
    case '/':
     if (b != 0) {
      ss=a + "/" + b + "=" + a / b;
      sb=ss;
      flag = false;
     }
     break;
    }
  }
  return ss;
 }
 public void tiS(){
  loop:for(int i=0;i<10;i++){
   tiM(a,b,e,d);
   str[i]=ss;
   stb[i]=sb;
   ss="";
   sb="";
   for(int j=0;j<i;j++){
    if(str[j]==str[i]||str[j]==stb[i]){i--;continue loop;}
   }
   System.out.println("第"+(i+1)+"题:"+str[i]);
  }
 }
 public static void main(String[] args) {
  JiS js=new JiS();
  js.tiS();
  }
}
import java.util.*;
public class YC extends Exception{
    public void chuling()
    {
        System.out.printf("分母不能为零!");
    }
    public void fw()
    {
        System.out.print("数值超出范围!");
    }
}

 测试代码:

import static org.junit.Assert.*;

import org.junit.Test;


public class JiSTest {

    @Test
    public void testTiM() throws Error {
        JiS jis=new JiS();
        String result=jis.tiM(10, 8, 5,2);
        assertEquals(3,result);
        //fail("Not yet implemented");
    }

}

 

异常调试:

一开始我们弄数值大一点,显示超出数值提示。

 心得与体会:

 这次的程序测试比想象的难,通过和结对队友的共同努力,加上我们研究网上的例子,终于搞定了。

posted @ 2015-05-08 18:51  31罗凯杰  阅读(164)  评论(0编辑  收藏  举报