문제사항 : 변수명을 list에서 searchList으로 바꿨을 뿐인데, 검색이 되지 않는다.
해결방안 : 콘솔창에서 Tap으로 입력하지 말고, 마우스로 커서를 가져다대보자
public ArrayList <Music> searchMusic(String keyword) {
ArrayList <Music> searchList = new ArrayList<>();
for(int i=0; i<list.size(); i++) {
if(list.get(i).getTitle().contains(keyword)) {
// return는 한 개만 가져다 줄 수 있기 때문에 searchList에 값을 담고 한꺼번에 반환할 계획 !
searchList.add(list.get(i));
}
}
return searchList; // 텅 비어있는 상태로 리턴이 되거나, 뭐라도 담긴 상태로 리턴이 되거나
}
return된 값을 searchList로 설정했으니, 아래의 메소드에서도 searchList로 기술하고 싶었다. (== 주소값이 전달되기 때문에 사실 다른 변수명을 제시해도 무방하지만, 이해를 위해서 같은 변수명을 제시하고 싶었다)
public void searchMusic() {
System.out.println("\n ==== 특정 곡 검색 ==== ");
System.out.print("검색할 곡의 키워드 : ");
String keyword = sc.nextLine();
// 검색 요청 ! == Controller 메소드 호출 ! //주소값이 돌아오기 때문에 이름이 꼭 똑같을 필요는 없다 !
ArrayList <Music> searchList = mc.searchMusic(keyword);
if(searchList.isEmpty()) {
System.out.println( keyword + "에 대한 검색 결과가 없습니다");
} else {
for(int i=0; i<searchList.size(); i++) {
System.out.println(searchList.get(i));
}
}
}
이상없이 프로그램 동작 되는 것 확인했다 !
'🚨 Error > JAVA' 카테고리의 다른 글
[JAVA] Collection _ 도서 검색용 View 메소드 작성 (0) | 2021.03.19 |
---|---|
[JAVA] Collection 실습 문제 2. 존재하는 도서가 없습니다. (0) | 2021.03.09 |
[JAVA] 박수박수 문제 (0) | 2021.03.03 |
[JAVA] The method information() is undefined for the type ArrayList<Employee> (0) | 2021.03.02 |
[JAVA] 상속 구조에서의 출력문 오류 (0) | 2021.03.02 |
댓글