라디오 쇼에 임의의 재생 목록을 인쇄하려고합니다. 그래서 반복 할 때마다 분이 추가됩니다. 그래서 디스크 자키는 시간 세그먼트를 입력합니다. 예를 들어, 9 분 재생 목록. 아래 데이터가 있습니다. 그런데 콜론 앞에 첫 번째 숫자를 사용하여 분을 추가합니다.분을 추가하여 루프를 통과하는 임의의 재생 목록을 인쇄하여 사용자의 분 입력과 비교하는 방법은 무엇입니까?
1016,R,Hey Jude,The Beatles,3:00,T1.MP3
1017,R,Imagine,John Lennon,3:00,T1.MP3
1023,P,Louie Louie,The Kingsmen,3:00,T1.MP3
1026,P,What's Going On,Marvin Gaye,53:00,T1.MP3
첫 번째 3 개만 인쇄해야합니다. 7 분이면 처음 두 개를 인쇄하고 시간 세그먼트에 가까울수록 인쇄합니다. 5 분 이내 또는 그 이상. 나는 if 조건을 올바르게 찾을 수없는 것 같습니다. 그리고 뭔가를 입력 할 때 아무 것도 인쇄되지 않습니다. 내가 얻는 것은 빈 콘솔이다. 당신이 문자열이 있어야 할 그 코드 (0,1) 만 사용하려는 경우
private void createRandomPlayList()
{
int randomPickTime = 0;
int newMin = 0;
String timeSegment = JOptionPane.showInputDialog("Enter the time segment");
int newTimeSegment = Integer.parseInt(timeSegment);
Collections.shuffle(radioList);
for(Radio radioShows : radioList)
{
String min = radioShows.getPlayTime().substring(0,2);
min = min.replaceAll(":$", "");
newMin = Integer.parseInt(min);
randomPickTime += newMin;
String minInStr = Integer.toString(newMin);
if(newTimeSegment >= randomPickTime)
{
if(minInStr.equalsIgnoreCase(radioShows.getPlayTime().substring(0,2)))
{
System.out.println(radioShows);
}
}
}
}
감사! 그것은 효과가 있었다. 두 번째 if 문만 사용하여 정수 데이터 유형 대신 문자열로 다시 비교할 것이라고 생각했습니다. –