一、题目简介  

  颠倒文章单词顺序。

二、源码的github链接

       https://github.com/caojinyu12/project2

三、所设计的模块测试用例、测试结果截图

   测试用例:

importjava.util.Stack;

 

publicclass Transpose {

   /*

    * 该方法会打印词库中单词

    * @param list 单词库

    */

   publicvoidtransposeWord(Stack<String> list) {

      while (!list.empty()) {

          System.out.print(list.pop() + " ");

      }

   }

 

   /*

    * 将单词从字符串中提取出来放到一个栈中,并返回。

    */

   public Stack<String>getWords(String article) {

      Stack<String> list = new Stack<String>();

      StringBuffersb = newStringBuffer();

      // 是否开始组建单词

      booleanisLetter = false;

      booleanaddWord = false;

      // 对文章字符串的字符进行遍历,遇到字符就新建一个StringBuffer,把第一个字母放到StringBuffer中,

      // 继续向下扫描,如果是字母就把字符追放到到StringBuffer里,直到遇到非字符,就把StringBuffer作为一个单词放到List中

      for (inti = 0; i<article.length(); i++) {

          chartmp = article.charAt(i);

          // 如果是字母的话,就将状态变为<开始组建单词>

          if (Character.isLetter(tmp)) {

             isLetter = true;

             addWord = false;

             sb.append(tmp);

             if (i == article.length() - 1) {

                addWord = true;

             }

         } else {

             addWord = true;

          }

          if (addWord) {

             // 如果是<开始组建单词>就将单词加到list中

             if (isLetter) {

                list.push(sb.toString());

                sb.delete(0, sb.length());

                isLetter = false;

             }

          }

      }

      return list;

   }

 

}

 

截图:

 

 

 

 

 四、心得体会

    利用测试代码颠倒文章顺序进行测试,感到测试代码的微妙之处,提交到博客园处进行交流,不足之处还请指出。

posted on 2015-05-07 21:19  caojinuyu  阅读(143)  评论(5编辑  收藏  举报