首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >一个java方法,用于比较两个字符串,如果可以从string1中存在的字符生成string2,则提供布尔值输出

一个java方法,用于比较两个字符串,如果可以从string1中存在的字符生成string2,则提供布尔值输出
EN

Stack Overflow用户
提问于 2018-10-13 01:40:35
回答 1查看 60关注 0票数 -2

我正在尝试一种Java方法,其中有两个字符串输入,如果可以从string1中存在的所有或部分字符生成string2,我会得到一个布尔输出。请注意,我不仅仅是比较2个字符串,因为这只在字符顺序相同的情况下才有效。

此方法还会检查字符是否存在,但顺序不一定相同。

我知道我必须使用循环来比较每个字符,并可能将字符排序到一个数组中,但我不清楚这其中的逻辑。

我正在考虑使用for循环。将字符串中的字符作为数组的一部分放入,然后比较字符。如果使字符串2所需的字符与字符串1中存在的字符相匹配,则布尔结果可能正好为真

EN

回答 1

Stack Overflow用户

发布于 2018-10-13 02:02:42

如果您可以重用字符串中的字符,请使用:

代码语言:javascript
复制
static boolean compare(String outer, String inner){
    int innerLength = inner.length();
    for(int i = 0; i < innerLength;i++){
        if(outer.indexOf(inner.substring(i,i+1))==-1){
            return false;
        }
    }
    return true;
}

如果不能重用字符串1中的字符,则使用:

代码语言:javascript
复制
static boolean compare(String outer, String inner){
    int innerLength = inner.length();
    for(int i = 0; i < innerLength;i++){
        int index = outer.indexOf(inner.substring(i,i+1));
        if(index==-1){
            return false;
        }
        else{
            outer = outer.substring(0,index)+outer.substring(index+1);
        }
    }
    return true;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52784582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档