zsn321 发表于 2013-3-1 11:08:45

一个白盒测试的java笔试题,求高手作答案

本帖最后由 zsn321 于 2013-3-1 11:10 编辑

文本搜索程序
编写一个文本搜索类TextFinder
其中包含函数:
boolean find(String text,String keyword)
在text中搜索keyword 指定的文字。不区分大小写。招到返回true。
keyword 可以包含任意个词。词与词之间使用“+”,“-”连接,“+”要表示包含。
下面是一些例子:
1.computer表示text中要包含computer
2.computer+java表示text中要包含computer和java
3.computer+java-C 表示要包含computer和java 但是不能包含C

求java的答案

ganmaotong 发表于 2013-7-17 13:11:07

这个题目不难,我写一个给你,简单的,你自己再看情况添加一些方法

public class TextFinder {
      //在text中搜索keyword 指定的文字。不区分大小写。找到返回true
      boolean find(String text, String keyword) {
                boolean result=true;
                int fromIndex = 0;
                int index=0;   
                while(keyword.indexOf("-", fromIndex)!=-1) {
                        index= keyword.indexOf("-", fromIndex);
                        fromIndex=index;
                        // 如果字符串后面没有+,则全部截断“-”后的字符串
                        if(keyword.indexOf("+", fromIndex)==-1){
                              keyword=keyword.substring(0, index);
                              break;
                        }
               
                        else {
                              index= keyword.indexOf("+", fromIndex); //从fromIndex开始,包括fromIndex
                              keyword=keyword.substring(0, fromIndex)+keyword.substring(index);
                        }
                }
                String key[] = keyword.trim().toLowerCase().split("[+]+");
                System.out.print("您想要搜索的关键字是: ");
                for(String str: key)
                        System.out.print(str+" ");
                System.out.println(" ");
                for(String str: key) {
                        if(!text.toLowerCase().contains(str)) {
                              System.out.println(str+"不在文本中");
                              result=false;
                        }
                }
                return result;
      }
      public static void main(String[] args) {
                TextFinder tf= new TextFinder();
                boolean b=tf.find("computerjavaABCDFGH", "computer+java-C+d-g-f+Z");
                System.out.println(b);
      }
}

ganmaotong 发表于 2013-7-29 09:27:54

public class TextFinder {
         //在text中搜索keyword 指定的文字。不区分大小写。找到返回true
         boolean find(String text, String keyword) {
               boolean result=true;
               int fromIndex = 0;
               int index=0;   
               while(keyword.indexOf("-", fromIndex)!=-1) {
                         index= keyword.indexOf("-", fromIndex);
                        fromIndex=index;
                         // 如果字符串后面没有+,则全部截断“-”后的字符串
                         if(keyword.indexOf("+", fromIndex)==-1){
                                 keyword=keyword.substring(0, index);
                                 break;
                         }
                  
                         else {
                                 index= keyword.indexOf("+", fromIndex); //从fromIndex开始,包括fromIndex
                                 keyword=keyword.substring(0, fromIndex)+keyword.substring(index);
                         }
               }
               String key[] = keyword.trim().toLowerCase().split("[+]+");
               System.out.print("您想要搜索的关键字是: ");
               for(String str: key)
                        System.out.print(str+" ");
               System.out.println(" ");
               for(String str: key) {
                         if(!text.toLowerCase().contains(str)) {
                                 System.out.println(str+"不在文本中");
                                 result=false;
                         }
               }
               return result;
         }
         public static void main(String[] args) {
               TextFinder tf= new TextFinder();
               boolean b=tf.find("computerjavaABCDFGH", "computer+java-C+d-g-f+Z");
               System.out.println(b);
         }
}

利勇lmm 发表于 2013-8-22 18:49:44

回复 2# ganmaotong


    求指导自学Java语言,先谢谢了

ganmaotong 发表于 2013-11-3 17:50:43

回复 4# 利勇lmm 你想要怎么指导?
java我也是自学的。
现在我在自学android开发

利勇lmm 发表于 2013-11-4 14:21:01

回复 5# ganmaotong


    实实在在的看书,老老实实的写代码
页: [1]
查看完整版本: 一个白盒测试的java笔试题,求高手作答案