텍스트 파일을 읽고 값을 목록에 저장하는 작은 프로그램을 만들고 싶습니다. 목록의 형식은 다음과 같습니다.자바에서 목록 요소의 마지막 부분 얻기
[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];
}
관리하여 홀수 루프 동안의 목적을 설명하기 : –
당신이 무엇을 요구하고 있는지 분명하지 않습니다; 당신은 입력과 예상 결과가 어떻게 상관되어 있는지 더 명확하게 설명해야 할 것입니다. 그리고 그 의미, 귀하의 대답은 정말 도움이되지 않습니다. 아무도 그 질문을 이해하지 못하면서도 아무도 그 답을 신경 쓰지 않을 것입니다. – GhostCat
길이가 => 6이고 <= 8 인 요소에 관심이 있었기 때문에 그랬습니다. 이것은 while 루프 전에 처음 두 파트를 분리하지 않고 요소를 평가할 때 처음부터 잘못 나온 것입니다. –