2014-12-08 3 views
0

이 프로그램에서는 학생 이름과 ID 번호가 포함 된 파일과 클래스 ID 코드가 포함 된 파일 두 개를 병합해야합니다. 그런 다음 ID 코드를 학생들과 ID 코드로 일치시켜 알파벳순으로 정렬하여 새 클래스 명단으로 분류해야합니다.자바 : 두 개의 .txt 파일을 하나로 병합하는 방법은 무엇입니까?

배열과 이진 검색을 사용해야합니다.

저는 어떻게하는지 잘 모르겠습니다. 나는 많은 것을 가지고 있지만, 내가 무엇을해야 할 것은 이것이다하지 않습니다 내가 배열로 내용을 둘 필요가 알고

import java.io.*; 
import java.util.Scanner; 

public class MergingFiles { 


    public static void main(String[] args) throws IOException { 
    Scanner studentFile = new Scanner(new File("students.txt")); 
    Scanner classFile = new Scanner(new File("classes.txt")); 

    while (studentFile.hasNext()){ 
    } 
    while (classFile.hasNext()){ 
    } 
     //as long as another line, keeps running 
     //sort students alphabetically 
     //2 substrings, one id #, one students 
     //read id codes, match with name 
     //create new roster file 


    } 



} 

,하지만 난이 어떻게 배열의 종류를 쓸 것인가?

도움을 주시면 감사하겠습니다.

감사합니다.

+0

지금까지 무엇을 다뤘습니까? 사물? 2 차원 배열? – Catchwa

+0

예. Reader, Writer, Buffered Reader 및 Writer와 함께 이들을 다뤘습니다. – throwaway298

+0

두 파일의 형식에 대한 간략한 샘플을 게시 할 수 있습니까? – Catchwa

답변

0
에 대해 어떻게

:

1.) 변수와 Student 클래스를 작성 name

2 id) 학생들의리스트를 스캔 Student[]에 추가합니다. 배열은 크기를 조정할 수 없으므로 (목록을 사용할 수없는 것처럼 보입니다.) 배열을 만들 때 크기를 알 수 있도록 배열 크기를 알 수있는 방법에 대해 생각해보십시오. 즉각적으로 배열의 크기를 조정하는 코드도 가능합니다.

3.) Student[] (2 진 검색 요구 사항)을 정렬하십시오. 이 작업을 수동으로 수행해야하는 경우에는 사용자가 직접 정렬 구현을 작성해야합니다 (비교 대상의 Student 객체 필드를 생각해보십시오). sort methods API를 사용할 수 있고 (인터페이스를 다룬 경우) StudentComparable으로 구현 한 다음 Arrays.sort으로 전화하면됩니다.

4. 클래스 파일을 스캔 할 때 이진 파일을 사용하여 Student (해당 ID를 기반으로 함)을 찾아야하지만 입력 파일의 형식이 확실하지 않다고 가정합니다. 내가 너에게 너무 많은 지침을 줄 수 있을지 확신하지 못해.

관련 문제