gpt4 book ai didi

java - 部分搜索集合java

转载 作者:行者123 更新时间:2023-11-30 07:03:57 26 4
gpt4 key购买 nike

我正在尝试用 Java 为 mp3 类编写代码。我希望能够完成对标题和艺术家的完整或部分搜索,它将显示在包含部分字符串的歌曲上。

这是我到目前为止编写的代码。只有当用户输入完整的标题或完整的艺术家姓名时,它才会在测试器中工作:

类代码

public void searchByArtist(String artist){
for(Song s : songs){
if(s.getArtist().equalsIgnoreCase(artist)){
System.out.println(s.toString());
}
}

//search for a song by title

public void searchByTitle(String title){
for(Song s : songs){
if(s.getTitle().equalsIgnoreCase(title)){
System.out.println(s.toString());
}
}
}

测试代码

 case 4:
keyIn.nextLine(); //clear the buffer of the previous option
System.out.println();
System.out.print("Please enter Title: ");
title = keyIn.nextLine();
player.searchByTitle(title);
break;

case 5:
keyIn.nextLine(); //clear the buffer of the previous option
System.out.println();
System.out.print("Please enter Artist: ");
artist = keyIn.nextLine();
player.searchByArtist(artist);
break;

最佳答案

要以不区分大小写的方式部分匹配,一种简单的方法是将equalsIgnoreCase替换为toLowerCase(),然后替换包含,例如:

String search = artist.toLowerCase();
for (Song s : songs) {
if (s.getArtist().toLowerCase().contains(search)) {
System.out.println(s.toString());
}
}

请注意,toLowerCase() 是特定于语言环境的。如果标题不在默认区域设置中,请确保指定适当的区域设置作为参数。

关于java - 部分搜索集合java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40448419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com