FileReader();
BufferedReader();
fr=new FileReader(inName);
br=new BufferedReader(fr);
while(true) {
String line=br.readLine(); //커서 불러오기. 메모장 커서로 텍스트 순차적으로 읽어주는 기능.
if(line==null) { // line 커서가 null이면 마지막까지 값을 읽었다는 의미이다.
break; //마지막까지 값을 읽었으면 if문을 빠져 나간다.
}//if end
//System.out.println(line); // 중간중간 값이 나왔는지 확인하는 작업.
String line=br.readLine();
if(line==null)
break;
String[] word=line.split(","); // 콤마를 기준으로 문자열 분리한 것 배열 word변수에 넣기
name[i]=word[0].trim();
kor[i]=Integer.parseInt(word[1].trim()); //입력데이터의 배열이 다르거나 하면 word[1]같은 인덱스 안의 값이 달라질 수가 있다
eng[i]=Integer.parseInt(word[2].trim());
mat[i]=Integer.parseInt(word[3].trim());
i++; //다음사람
}//while end
for(i=0; i<size; i++) {
aver[i]=(kor[i]+eng[i]+mat[i])/3;
}//for end
for(int a=0; a<size; a++) {
for(int b=0; b<size; b++) {
if(aver[a]<aver[b]) {
rank[i]=rank[i]+1;
}//if end
}//for end
}//for end
for(i=0; i<size; i++) {
out.printf("%-6s %5d %5d %5d %5d %3d"
,name[i], kor[i], eng[i], mat[i], aver[i], rank[i]);
out.println(); //한사람 출력하고 줄바꿈
//7) 결과 - 과락
if(aver[i]>=70) {
if(kor[i]<40 || eng[i]<40 || mat[i]<40) {
out.printf("%-10s", "재시험"); //5칸 내에서 왼쪽정렬
}else {
out.printf("%-10s", "합 격");
}//if end
}else {
out.printf("%-10s", "불합격");
}//if end
//8) 평균 10점당 별 * 한개씩
for(int star=1; star<=aver[i]/10; star++) {
out.printf("%c","*");
}//for end
//9) 평균 95점 이상이면 장학생
if(aver[i]>=95) {
out.printf("%-12s","장학생");
}//if end
out.println(); //한사람 출력하고 줄바꿈
}//for end
System.out.println("result.txt 성적프로그램이 완성되었습니다.");
} catch (Exception e) {
System.out.println("성적프로그램 읽고, 쓰기 실패 : " + e);
} finally {
//자원반납
//정상적으로 나와도 close, 비정상적으로 나와도 close 시켜줘야한다.
try {
if(br!=null) {br.close();}
} catch (Exception e) {}
try {
if(fr!=null) {fr.close();}
} catch (Exception e) {}
try {
if(out!=null) {out.close();}
} catch (Exception e) {}
try {
if(fw!=null) {fw.close();}
} catch (Exception e) {}
}//end
코드를 입력하세요