【发布时间】:2020-03-21 04:33:45
【问题描述】:
我是 Java 新手。我正在尝试使用 java 正则表达式来比较两个包含名称的字符串数组,然后使用嵌套的 for 循环打印出匹配的名称和不匹配的名称。下面是我的代码
public class Main {
public static void main(String[] args) {
// write your code here
String regex;
Pattern pattern;
String stringToBeMatched;
Matcher matcher;
boolean b;
String [] names1 = {"Peter","Harry","Potter","Mary","Jerry"};
String [] names2 = {"Adam","Jerry","Potter","Martin","Chris", "Rose"};
//try a loop with two variables for loop
for (int x=0;x >= names2.length;x++) {
regex = names2[x];
pattern = Pattern.compile(regex);
for(int y = 0; y >= names1.length; y++){
stringToBeMatched = names1[y];
matcher = pattern.matcher(stringToBeMatched);
b = matcher.find();
if (b) {System.out.println(names1[y] +" has a match");}
else{System.out.println(names1[y] +" has no match");}
}
}
}
}
代码执行并返回输出Process finished with exit code 0,而不显示任何System.out.println() 语句指定的任何消息。请问各位,我做错了什么?
【问题讨论】:
-
应该是
x < names2.length和y < names1.length——而不是>= -
这听起来像是家庭作业。
标签: java regex nested-loops string-matching