5 回答
TA贡献1831条经验 获得超9个赞
您可以在此处使用,这将在一次迭代中给出结果。使用进一步减少执行时间,因为它消除了重复java.util.Setjava.util.TreeSet
public static void main(String[] args) {
char[] A = "HR".toCharArray();
char[] B = "RRR".toCharArray();
Set<Character> set = new TreeSet<>();
boolean flag = false;
for(char c : A) {
set.add(c);
}
for(char c : B) {
if(set.contains(c)) {
System.out.println(true);
flag = true;
break;
}
}
if(!flag) {
System.out.println(false);
}
}
TA贡献1828条经验 获得超4个赞
您可以做的是使用 For 在 matriz 中迭代,并验证当前项是“R”还是“H”。
boolean returnedValue = false;
for(int i = 0; i< B.length; i++){
char currentItem = B[i];
if(currentItem == 'R' || currentItem == 'H'){
returnedValue = true;
}
}
return returnedValue;
TA贡献1816条经验 获得超6个赞
好吧,它很简单,你所要做的就是添加一个嵌套的循环
for(int i = 0; i < A.length; i++){
for(int j = 0; j < B.length; j++){
if(if B[j] ==A [i]){
return true
}
}
}
return false;
TA贡献1877条经验 获得超1个赞
使用Java 1.8,您可以执行以下操作:
//@Momir Sarac
String text1 = "b9H ello";
String text2 ="avn1c fk";
// 32 is for empty space character here, you could do i != ' ' and it would be the same
//turn text1 into intstream each int corresponding to it's char value
//filter empty space ints
//get only distinct out of them
//take a look for any match if some int is contained within text2
boolean result = text1.chars().filter(i->i != 32).distinct().anyMatch(character->text2.contains(String.valueOf(character)) || text2.lastIndexOf(character) != -1);
//print it on screen
System.out.printf("Two texts %s same letter(s).", result ? "have" : "don't have");
TA贡献1828条经验 获得超3个赞
使用第一个循环从第一个数组中获取每个元素。
使用第二个循环检查第二个数组中的第一个元素。
检查第一个数组中的当前值是否等于 H 或 R。
如果是,请检查它是否在第二个数组中并返回 true。
public static boolean check() {
String s1 = "ABHEEF", s2 = "RDDFVW";
char[] arr1 = s1.toCharArray();
char[] arr2 = s2.toCharArray();
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2.length; j++) {
if(arr1[i] == 'H' || arr1[i] == 'R') {
if(arr1[i] == arr2[j])
return true;
}
}
}
return false;
}
添加回答
举报