51Testing软件测试论坛

标题: 一个白盒测试的java笔试题,求高手作答案 [打印本页]

作者: zsn321    时间: 2013-3-1 11:08
标题: 一个白盒测试的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
这个题目不难,我写一个给你,简单的,你自己再看情况添加一些方法

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
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
回复 2# ganmaotong


    求指导自学Java语言,先谢谢了
作者: ganmaotong    时间: 2013-11-3 17:50
回复 4# 利勇lmm 你想要怎么指导?
java我也是自学的。
现在我在自学android开发
作者: 利勇lmm    时间: 2013-11-4 14:21
回复 5# ganmaotong


    实实在在的看书,老老实实的写代码




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2