Skip to main content

[Java] 난수 10개가 있는 파일 읽어서 3번째 큰값 찾기

a.txt 파일에 10개의 난수를 입력하고 그 파일을 다시 읽어와서 10개의 난수중 3번째로 큰 값을 찾아서
b.txt 파일에 저장하는 프로그램

[#M_소스보기|접기|import java.io.*;
import java.util.*;

class test
{
public static void main(String[] args) throws Exception
{
Random rand = new Random();
String strTmp;
int iArray[] = new int[10];
int iTmp = 0, iArrCnt = 0;

// 난수 10개 파일에 저장.
BufferedWriter bw = new BufferedWriter(new FileWriter(”a.txt”));
for(int i = 0; i < 10; i++) {
bw.write( String.valueOf(rand.nextInt(101)) );
bw.newLine();
}
bw.close();

// 파일에 저장된 수 읽어 배열에 저장
BufferedReader br = new BufferedReader(new FileReader(”a.txt”));
while( (strTmp = br.readLine()) != null ) {
iArray[iArrCnt] = Integer.parseInt(strTmp);
iArrCnt++;
}
br.close();

// 읽어온 수 정렬
for(int i = 0; i < iArrCnt-1; i++) {
for(int j = 0; j < iArrCnt-i-1; j++) {
if(iArray[j] > iArray[j+1]) {
iTmp = iArray[j];
iArray[j] = iArray[j+1];
iArray[j+1] = iTmp;
}
}
}

// 정렬된 수에서 3번째로 큰값을 파일에 저장
bw = new BufferedWriter(new FileWriter(”b.txt”));
bw.write(String.valueOf(iArray[7]));
bw.close();
}
}

_M#]

댓글 남기기