好的,我有这个程序应该存储有关txt文件中可用的CD的信息。该文件以“artist [tab] album”格式存储数据在同一行。我想要做的是拥有用户输入搜索查询,如果CD在数据库中则返回程序。因此,假设我们在某行上有.txt文件中的Green Day [tab] American Idiot,当用户输入Green时,程序会检查该文件并返回true。但我的问题是,我当前的算法要求字符串完全匹配,而不是部分匹配。因此,用户需要输入Green Day [tab] American Idiot才能获得查询。怎么解决?谢谢。我确信这是我不认为是初学者的事。
这是管理阵列艺术家中搜索的程序的一部分,其中包含当前存储在.txt文件中的所有数据
for (String e : artists){
if(Arrays.asList(e).contains(search)){
contains=true;
}
答案 0 :(得分:2)
为什么要创建列表?您应该使用artist.contains(search)
(是的,尝试选择更相关的变量名称)。另外,请确保数组中没有null
元素或search
不是null
等,但您可以执行以下操作:
for(String artist : artists) {
if(artist.toLowerCase().contains(search.toLowerCase()) {
contains = true;
// break; <- you may want to break here
}
}
您可能希望toLowerCase()
两者都进行不区分大小写的搜索。