51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4461|回复: 5
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-3-1 11:08:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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的答案
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 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);
        }
}
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 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);
         }
}
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2013-8-22 18:49:44 | 只看该作者
回复 2# ganmaotong


    求指导自学Java语言,先谢谢了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2013-11-3 17:50:43 | 只看该作者
回复 4# 利勇lmm 你想要怎么指导?
java我也是自学的。
现在我在自学android开发
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2013-11-4 14:21:01 | 只看该作者
回复 5# ganmaotong


    实实在在的看书,老老实实的写代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 03:17 , Processed in 0.078921 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表