大家早上好,
我试图做一个简单的自动完成系统。
我有一个包含40个名字的列表。
我的目标是向用户显示所有以与键盘输入相同的3首字母开头的名字。
目前,为此,我使用java.util.Scanner
。
private String getEntry() {
Scanner sc = new Scanner(System.in);
return sc.nextLine();
}
所以,我需要一个"事件"或者是一个"听众"检测他何时输入3个字母以查找并显示所有相应的地方,即使该条目未完成。
如果输入的3个字符没有地名,则显示任何内容。
此外,如果他输入4个字母,5个字母等,自动完成系统也必须工作,并找到所有以相同的4或5个首字母开头的名称。
可以这样做吗?
(我希望我的解释清楚)。
非常感谢!
答案 0 :(得分:1)
你必须谷歌魔术结构:后缀树。它将解决您的问题。
PS如果你只有40个名字 - 然后使用全扫描。这个小名字的数量很简单快捷。