zoukankan      html  css  js  c++  java
  • 练习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/

    最后总结:

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

  • 相关阅读:
    ABAP 程序中的类 沧海
    ABAP类的方法(转载) 沧海
    More than 100 ABAP Interview Faq's(2) 沧海
    SAP and ABAP Memory总结 沧海
    ABAP Frequently Asked Question 沧海
    ABAP System Reports(Additional functions) 沧海
    ABAP Questions Commonly Asked 1 沧海
    ABAP Tips and Tricks 沧海
    ABAP System Fields 沧海
    ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 沧海
  • 原文地址:https://www.cnblogs.com/kevinkeke/p/4485783.html
Copyright © 2011-2022 走看看