【发布时间】:2017-02-01 14:58:39
【问题描述】:
我正在尝试将字符串数组中的每个值与同一数组的所有值进行比较,以查看它们是否相等(例如“wordA”等于“wordA”)。 这就是我所拥有的:
FileReader input;
input = new FileReader("file.txt");
BufferedReader reader = new BufferedReader(input);
String line = reader.readLine();
String[] text = line.replaceAll("[^a-zA-Z ]", "").split("\\s+");
for (int A = 0; A < text.length; A++) {
for (int B = text.length; B > 0; B++){
if (text[A].equals(text[B])){
System.out.println("Repeated Word: "+text[A]);
}
}
}
它只是比较数组空间,所以如果 A 和 B = 3(例如),它将始终为真,忽略该空间内的字符串。所以我得到了文本中所有单词的输出。
【问题讨论】:
-
将您的代码发布为文本,而不是图像
-
不要将文本/代码作为图片/链接发布 (more info)
-
replaceAll调用的目的是什么? -
第二个循环不应该是
for (int B = text.length -1; B > A; B--吗?和
标签: java arrays string compare equals