• 练习5.2更新——继5.1的追加更新完善


     
     1 package ppackage;
     2 import static org.junit.Assert.*;
     3 
     4 import java.math.BigDecimal;
     5 
     6 import org.junit.Test;
     7 
     8 
     9 public class Rank {
    10 
    11     @Test
    12     public void testrank() {
    13         CalcuteRank c=new CalcuteRank();
    14         try{
    15         BigDecimal answer=c.rank("5");
    16         assertEquals(120,answer.intValue());
    17         }
    18         catch(FsException e)
    19         {
    20             System.out.println(e.getMessage());
    21         }
    22     }
    23     public void testfs() {
    24         CalcuteRank c=new CalcuteRank();
    25         try{
    26         BigDecimal answer=c.rank("-5");
    27         }
    28         catch(FsException e)
    29         {
    30             System.out.println(e.getMessage());
    31         }
    32     }
    33     public void testff() {
    34         CalcuteRank c=new CalcuteRank();
    35         try{
    36         BigDecimal answer=c.rank("a");
    37         assertEquals(120,answer.intValue());
    38         }
    39         catch(NumberFormatException e)
    40         {
    41             System.out.println(e.getMessage());
    42         }
    43         catch(FsException e)
    44         {
    45             System.out.println(e.getMessage());
    46         }
    47     }
    48 
    49 }
    Junit
     1 package ppackage;
     2 
     3 import java.math.BigDecimal;
     4 import java.util.Random;
     5 
     6 public class CalcuteRank {
     7     BigDecimal rank(String a) throws FsException
     8     {
     9         int i,j=1,l;
    10         BigDecimal k= new BigDecimal(1);
    11         String []v=new String [10];
    12         if(Integer.parseInt(a)<0)
    13         {
    14             throw new FsException("您输入的是"+a+",规定阶乘数不能为负数!");
    15         }
    16         if(Integer.parseInt(a)==0)
    17         {
    18             k= new BigDecimal(1);
    19             System.out.print(a+"!=");
    20             System.out.print(0+"
    ");
    21         }
    22         else
    23         {
    24         for(l=0;l<10;l++)
    25         {
    26             v[l]="";
    27         }
    28         l=0;
    29         for(int f=0;f<1;f++)
    30         {
    31         BigDecimal.valueOf(j);
    32         v[l]=a;
    33         v[l]+="!";
    34         System.out.print(a+"!=");
    35         do
    36         {
    37             k=k.multiply(BigDecimal.valueOf(j)); 
    38             j++;
    39             
    40         }while(j<=Integer.parseInt(a));
    41         System.out.print(k+"
    ");
    42         l++;v[l]=String.valueOf(k);l++;
    43         j=1;
    44         }
    45         }
    46         return k;
    47     }
    48     public static void main(String[] args) {
    49         CalcuteRank aa=new CalcuteRank();
    50         String s="5";
    51         try{
    52         aa.rank(s);
    53         }
    54         catch(NumberFormatException e)
    55         {
    56             System.out.println("您输入的是"+s+','+"规不能输入数字以外的非法字符!");
    57         }
    58         catch(FsException e)
    59         {
    60             System.out.println(e.getMessage());
    61         }
    62     }
    63         
    64 }
    Rank
    1 package ppackage; 
    2  public class FsException extends Exception{
    3      public FsException(String mes)
    4      {
    5          super(mes);
    6      }
    7  }
    FsException

    以上3条程序代码分别是:

    1、单元测试程序;

    2、计算阶乘功能程序;

    3、异常处理程序;

    由于在练习5.1中已经完成了四则运算的大部分功能,所以在本次练习中,就试着在练习5.1的基础上,追加了阶乘功能,并且对阶乘功能进行封装,测试等等。

    -(1)黑盒子测试

    测试用例输入条件 输入条件 有效等价类 无效等价类
    输入有效性判断 5 5  
    输入错误负数 -5 l例如:5 -5
    输入错误字符 a 例如:5 a
           
    测试对象 测试说明 测试数据 测试结果
    计算范围 能计算的大小(<=100) 100 93326215...
           
           
           

    (2)白盒子测试

    测试用例 用例说明 通过途径 实际结果
    负数处理 输入(-5) Line23-32 抛出异常并提示
    非法字符处理 输入(a) Line33-47 抛出异常并提示
    结果正确性处理 输入(5) Line12-22 120
           
           

    (3)异常处理

    异常说明 异常用例 异常反馈  
    fsException

    CalcuteRank aa=new CalcuteRank();
    String s="-5";
    aa.rank(s);

    您输入的是-5,规定阶乘数不能为负数!  
    NumberFormatException CalcuteRank aa=new CalcuteRank();
    String s="a";
    aa.rank(s);
    您输入的是a,规不能输入数字以外的非法字符!  
           
           
           

    本次实验代码及其测试结果截图

    我们SsssB团队工作照:

      本次工作照就不在我的博客中上传啦,如果需要观看,就欢迎进入我团队另一位小伙伴的博客吧,她为自己“带盐”:http://www.cnblogs.com/mikky/

    最后总结:

      因为有了第一次实验作为铺垫,所以这次实验做起来就没有了第一那么困难,感觉很多地方都能很容易的上手,同时也在第一次实验的基础上加以了完善了追加了一部分功能,及其异常处理。不过我们的实验还是存在有许多不足之处,我们团队会再接下更加努力,一点点改进完善,让我们的作业做得更加好。

  • 相关阅读:
    初识redis
    支付宝退款操作
    《地质灾害防治这一年2013》读书摘要
    地质灾害防治工作的经验和体会
    关于地质灾害防治的一些认识
    应急信息报送和值班工作的培训学习
    《地质灾害防治这一年2012》读书摘要
    关于开源GIS和商业GIS的讨论
    B树索引学习
    cordova 开发 ios app 简要流程
  • 原文地址:https://www.cnblogs.com/kevinkeke/p/4485783.html
Copyright © 2020-2023  润新知