2017-02-26 2 views
-2

텍스트 파일을 읽고 값을 목록에 저장하는 작은 프로그램을 만들고 싶습니다. 목록의 형식은 다음과 같습니다.자바에서 목록 요소의 마지막 부분 얻기

[1234 nick, 243 56475, 13 mi87ke] 

원하는 것은 각 목록 요소의 마지막 부분 만 추출하는 것입니다. 사실 두 가지 접근 방식을 고려했지만 여전히 정확한 결과를 얻지 못하고 있습니다.

지금까지 내 코드는 다음과 같은 : 나는 첫 번째 부분을 반환하여 길이 < 6 요소가 여전히 인쇄 것으로 나타났습니다

leslie02 
yakumo 
Buddy1 
yaseen 
24 19871 

: 두 가지 접근 방식에서

First approach: 
     index = randomGenerator.nextInt(list.size()); 
     element = list.get(index); 
     while (element.length() < 6 || element.length() > 8) { 
      index = randomGenerator.nextInt(list.size()); 
      element = list.get(index).substring(element.lastIndexOf(" ")+1); 
     } 

Second approach: 
     index = randomGenerator.nextInt(list.size()); 
     element = list.get(index); 
     while (element.length() < 6 || element.length() > 8) { 
      index = randomGenerator.nextInt(list.size()); 
      element = list.get(index); 
      String[] bits = element.split(" "); 
      element = bits[bits.length-1]; 
     } 

출력은 동일 두 번째와 함께. 누구나 이것이 일어나는 이유와 해결 방법이 있는지 알고 있습니다.

index = randomGenerator.nextInt(list.size()); 
    element = list.get(index); 
    String[] bits = element.split(" "); 
    element = bits[bits.length-1]; 
    while (element.length() < 6 || element.length() > 8) { 
     index = randomGenerator.nextInt(list.size()); 
     element = list.get(index); 
     bits = element.split(" "); 
     element = bits[bits.length-1]; 
    } 
+1

관리하여 홀수 루프 동안의 목적을 설명하기 : –

+0

당신이 무엇을 요구하고 있는지 분명하지 않습니다; 당신은 입력과 예상 결과가 어떻게 상관되어 있는지 더 명확하게 설명해야 할 것입니다. 그리고 그 의미, 귀하의 대답은 정말 도움이되지 않습니다. 아무도 그 질문을 이해하지 못하면서도 아무도 그 답을 신경 쓰지 않을 것입니다. – GhostCat

+0

길이가 => 6이고 <= 8 인 요소에 관심이 있었기 때문에 그랬습니다. 이것은 while 루프 전에 처음 두 파트를 분리하지 않고 요소를 평가할 때 처음부터 잘못 나온 것입니다. –

답변

0

는 내 질문에 대한 해결책을 찾았나요?
+0

이것이 어떻게 문제를 해결하는지 설명해주십시오. 다른 독자가 이해할 수 있도록 유용 할 수 있습니다. –

+1

나의 초기 접근법에서는 while 루프 이전에 요소의 마지막 부분을 추출하지 않았으므로 첫 번째 부분도 함께 반환했습니다. 두 번째 파트가있는 첫 번째 파트가 조건을 만족하는 길이를 가지면 올바른 것으로 인쇄됩니다. 위의 수정으로 while 루프 이전에 요소의 마지막 부분을 추출 했으므로 프로그램은 이제 처음부터 염두에 두었던 것을 얻습니다. –

+1

고마워요. 그건 의미가 있습니다. –