我正在使用Java 8.假设我分别有两个字符串a=helloworld
和b=howareyou
。我想找出String a中String b的匹配字符及其在b中的位置。在我的示例中,匹配字符为h
,e
,o
,w
,r
和r
是字符串b中的第5个字符。我不想找到它是否是子串。我只是想检查一个字符串的字符是否存在于另一个字符串中。有没有办法做到这一点?下面是我的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 :(得分:1)
我不打算为你实施解决方案,但我会给你pusedocode。
for each letter1 in String1
for each letter2 in String2
if letter1 is letter2 then print its position
所以你知道你需要一个嵌套的for循环和一个比较,如果你想要独特的重复,它会变得有点复杂,但我会把剩下的留给你