使用msdos窗口我在amazon.txt文件中管道.我正在尝试使用集合框架.请记住,我希望尽可能简化这一点.我想要做的是计算文件中的所有独特单词...没有重复.
这就是我到目前为止所拥有的.请善意这是我的第一个java项目.
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Iterator;
public class project1 {
// ArrayList<String> a = new ArrayList<String>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String word;
String grab;
int count = 0;
ArrayList<String> a = new ArrayList<String>();
// Iterator<String> it = a.iterator();
System.out.println("Java project\n");
while (sc.hasNext()) {
word = sc.next();
a.add(word);
if (word.equals("---")) {
break;
}
}
Iterator<String> it = a.iterator();
while (it.hasNext()) {
grab = it.next();
if (grab.contains("a")) {
System.out.println(it.next()); // Just a check to see
count++;
}
}
System.out.println("I counted abc = ");
System.out.println(count);
System.out.println("\nbye...");
}
}
Run Code Online (Sandbox Code Playgroud)
在您的版本中,wordlist a将包含所有单词,但也包含重复项.你也可以
(a)检查每个新单词,如果它已经包含在列表中(List#contains是您应该调用的方法),或者,建议的解决方案
(b)替换ArrayList<String>为TreeSet<String>.这将自动消除重复,并按字母顺序存储单词
编辑
如果要计算唯一单词,则执行与上面相同的操作,所需的结果是集合大小.因此,如果您输入序列"aabc ---",结果将为3,因为有三个唯一的单词(a,b和c).
| 归档时间: |
|
| 查看次数: |
4752 次 |
| 最近记录: |