문제
게임 스코어를 입력받아 게임 랭킹 파일을 업데이트하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요
프로그램의 실행순서 및 실행상태
1 public static void main( String[] args ) throws IOException {
2 String filename = scan.next();
게임랭킹 파일이름을 입력하세요: ranking.txt
3 BufferedReader inRankingFile = new BufferedReader( new FileReader( new File( filename ) ) );
5 for( String line; ( line = inRankingFile.readLine() ) != null; index++ ) {
6 id[index][1] = one[1];
5 for( String line; ( line = inRankingFile.readLine() ) != null; index++ ) {
5 for( String line; ( line = inRankingFile.readLine() ) != null; index++ ) {
7 inRankingFile.close();
8 id[index][1] = scan.next();
게임 아이디를 입력하세요: 홍길동
게임 스코어를 입력하세요: 4157967
9 BufferedWriter outRankingFile = new BufferedWriter( new FileWriter( new File( filename ) ) );
11 for ( index = 0; id[index][0].compareTo( "" ) != 0; index++ ) {
1) 내가짱 8579214
12 outRankingFile.write( id[index][0] + "\t" + id[index][1] + "\n" );
11 for ( index = 0; id[index][0].compareTo( "" ) != 0; index++ ) {
2) 홍길동 4157967
12 outRankingFile.write( id[index][0] + "\t" + id[index][1] + "\n" );
| | | | | ranking.txt | |
| index | 1 | | 내가짱 8579214 |
| outRankingFile | → | | 홍길동 4157967 |
11 for ( index = 0; id[index][0].compareTo( "" ) != 0; index++ ) {
3) 구름위 3674159
12 outRankingFile.write( id[index][0] + "\t" + id[index][1] + "\n" );
| | | | | ranking.txt | |
| index | 2 | | 내가짱 8579214 |
| outRankingFile | → | | 홍길동 4157967 |
| | | | 구름위 3674159 |
11 for ( index = 0; id[index][0].compareTo( "" ) != 0; index++ ) {
4) 이기자 1578236
12 outRankingFile.write( id[index][0] + "\t" + id[index][1] + "\n" );
| | | | | ranking.txt | |
| index | 3 | | 내가짱 8579214 |
| outRankingFile | → | | 홍길동 4157967 |
| | | | 구름위 3674159 |
| | | | 이기자 1578236 |
11 for ( index = 0; id[index][0].compareTo( "" ) != 0; index++ ) {
13 outRankingFile.close();
14 }
프로그램 코드
import java.io.*;
import java.util.*;
public class GameRankingFile
{
1 public static void main( String[] args ) throws IOException {
Scanner scan = new Scanner( System.in );
System.out.print( "게임랭킹 파일이름을 입력하세요: " );
2 String filename = scan.next();
3 BufferedReader inRankingFile = new BufferedReader( new FileReader( new File( filename ) ) );
String[][] id = { { "", "" }, { "", "" }, { "", "" }, { "", "" }, { "", "" } };
int index = 0;
5 for( String line; ( line = inRankingFile.readLine() ) != null; index++ ) {
String[] one = line.split("\t");
if ( one.length >= 2 ) {
id[index][0] = one[0];
6 id[index][1] = one[1];
}
else {
System.out.print( "(오류) 게임랭킹 내용을 읽어올 수 없습니다." );
break;
}
}
7 inRankingFile.close();
System.out.print( "게임 아이디를 입력하세요: " );
id[index][0] = scan.next();
System.out.print( "게임 스코어를 입력하세요: " );
8 id[index][1] = scan.next();
for ( int last = index; 0 < last; last-- ) {
for ( index = 0; index < last; index++ ) {
if ( Integer.parseInt( id[index][1] ) < Integer.parseInt( id[index+1][1] ) ) {
String temp = id[index][0];
id[index][0] = id[index+1][0];
id[index+1][0] = temp;
temp = id[index][1];
id[index][1] = id[index+1][1];
id[index+1][1] = temp;
}
}
}
9 BufferedWriter outRankingFile = new BufferedWriter( new FileWriter( new File( filename ) ) );
11 for ( index = 0; id[index][0].compareTo( "" ) != 0; index++ ) {
System.out.println( index+1 + ") " + id[index][0] + "\t" + id[index][1] );
12 outRankingFile.write( id[index][0] + "\t" + id[index][1] + "\n" );
}
13 outRankingFile.close();
scan.close();
14 }
}