내가 txt 파일을 입력하고을, 여기에이 코드를 실행 단축 버전없음 라인이 발견되지 않음 자바
10
"Alexander McCall Smith" "No. 1 Ladies' Detective Agency"
입니다 :
Scanner in = new Scanner(new File(newFile + ".txt"));
int size = in.nextInt();
String inputLine = in.nextLine();
크기가 10 인 끝을하지만, inputLine는 수신 끝 아무것도. 내가 단서가 없다 inputLine.
에 삽입하려고 무엇 자바 내가 디버거에 갔다
Exception in thread "main" java.util.NoSuchElementException: No line found.
오류를 얻을하고 위치에 문자열을 말한다 (-1, -1) 왜, 내가 50 + 선이 알고있다 10시 이후의 텍스트. in.next()
을 실행했는데 정상적으로 작동했습니다. 아무도 이유를 아나요?
은 나뿐만 아니라이 코드를 실행 :
inputLine.trim();
int posn = inputLine.indexOf('\"');
int nextPosn = inputLine.indexOf('\"',posn + 1);
String author = inputLine.substring(posn, nextPosn);
당신이'hasNextLine'으로 확인 있습니까 : 당신의 코드에서 그 다음 발견되지 않는 경우 인덱스가 -1이 될 것이라고 "/"기호 검색 그래서 당신은뿐만 아니라 이러한 경우를 처리한다, 여기에 예입니다 ? – Li357
내가 할 때 그냥 건너 뜁니다. 나는 그것이 사실이라는 것을 알고있다. 다음 라인은 내가 가지고있는 100 라인 중 2 라인에 불과하다. 나는 말 그대로 실마리가 없습니다, 그것은 처음으로 그런 실수가 나에게 일어난 일이고 나는 어리 석다. – TeenCoder
@AndrewLi가 말한 것처럼, 잠시 후 hasNextLine으로 확인하거나 .. then continue –