2017-09-11 51 views
-5

我正在使用Java 8.假设我有两个字符串a=helloworldb=howareyou分别。我想从字符串a中找出字符串b的匹配字符及其在b中的位置。在我的示例中,匹配字符是h,e,o, w, rr是字符串b中的第5个字符。我不想找到它是否是子字符串。我只想检查一个字符串的字符是否存在于另一个字符串中。有没有办法做到这一点?以下是我的Java代码。如何检查一个字符串是否包含来自Java中另一个字符串的字符?

public class CharCheck { 
public static void main(String[] args) { 
    String a = "helloworld"; 
    String b = "howareyou"; 

    char st = containsAny(a, b); 

    System.out.println(st+", "); 
} 

private static char containsAny(String str1, String str2) { 
    if (str1 == null || str1.length() == 0 || str2 == null || str2.length() == 0) { 
     if (str1 == null || str1.length() == 0) { 
      return 'X'; 
     } 
    } 
    for (int i = 0; i < str1.length(); i++) { 
     char ch = str1.charAt(i); 
     for (int j = 0; j < str2.length(); j++) { 
      if (str2.charAt(i) == ch) { 
       return ch; 
      } 
     } 
    } 
    return 'X'; 
    } 
} 
+0

你有没有尝试过自己什么? – marstran

+0

所以你基本上想要找到String1中的哪些字符?你有什么尝试? – AntonH

+0

@CedricMartens:错误的语言。这是Java,这个问题是关于Javascript的。 –

回答

1

我不会为你实施解决方案,但我会给你pusedocode。

for each letter1 in String1 
    for each letter2 in String2 
      if letter1 is letter2 then print its position 

所以,你知道你需要一个嵌套循环和比较,如果你想要独一无二的重复,但我会留下,其余由你变得有点复杂

相关问题