>

파일에서 읽고 숫자를 배열에 추가하려고합니다. 파일에 공백과 문자열이 포함될 수 있지만 숫자 만 있으면됩니다.

0
4
xxx
52
23

지금까지 내 코드는 다음과 같습니다.

Scanner scanner = new Scanner(new File("file.txt"));
int i=0;
while(scanner.hasNextInt() && count < 15) {   //only need first 15 digits
    arr[i++] = scanner.nextInt();
    count+= 1;
}

코드는 현재 작동하지만 문자열이나 공백에 도달하면 중지됩니다.

  • 답변 # 1

    와이즈 비즈  정수가 아닌 첫 번째에 도달하면 종료됩니다. 조건을 변경해야합니다 :

    while
    
    

  • 답변 # 2

    이걸로 시도하십시오 :

    // Loop until eof or 15 numbers
    while(scanner.hasNext() && count < 15) {   //only need first 15 digits
        // Have a number?
        if (scanner.hasNextInt()) {
            arr[i++] = scanner.nextInt();
            count+= 1;
        }
        // Not a number, consume.
        else {
            scanner.nextLine();
        }
    }
    
    

    while (scanner.hasNext() && count < 15) { // use Scanner::hasNext if (scanner.hasNextInt()) { // if is number then add it to the array arr[i++] = scanner.nextInt(); count++; } else { scanner.next(); // else ignore the value } }

  • 이전 html - 모바일의 테이블 행은 100 % 너비에 이르지 않습니다
  • 다음 asp.net - Gridview에서 마지막으로 추가 된 행 삭제