답변올릴려고 했더니 먼저 올린 답변이 있어서 여기에 올린다.
만드는데 정확하게 30분정도 걸렸는데... 쩝..
1. TEXT
name no kor mat eng
aaa 1 80 90 100
bbb 2 75 88 69
ccc 3 100 98 97
ddd 4 76 68 69
2. CLASS
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class test_001 {
public static void main(String[] args) {
try{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("D:/work/s001.txt")));
StringBuilder contents = new StringBuilder();
String inputLine;
String[] all;
String[] sungjuk = null;
int[] sugjuckAvg = null;
String name;
int no = 0;
int kor = 0;
int mat = 0;
int eng = 0;
int hap = 0;
int avg = 0;
int min = 0;
int max = 0;
while ((inputLine = br.readLine()) != null) {
contents.append(inputLine);
contents.append("\n");
}
all = contents.toString().split("\n");
sugjuckAvg = new int[all.length];
for(int i = 1;i < all.length; i++){
sungjuk = all[i].split(" ");
name = sungjuk[0];
no = Integer.parseInt(sungjuk[1]);
kor = Integer.parseInt(sungjuk[2]);
mat = Integer.parseInt(sungjuk[3]);
eng = Integer.parseInt(sungjuk[4]);
hap = kor + mat + eng;
avg = hap / 3;
System.out.println("이름 : " + name + ", 번호 : " + no + ", hap : " + hap + ", 평균 : " + avg );
sugjuckAvg[i] = avg;
}
for (int i = 1; i < sugjuckAvg.length; i++) {
if (i == 1){
min = sugjuckAvg[i]; // for 1회전때는 무조건 첫번째 숫자를 min에 넣습니다.
}
if (sugjuckAvg[i] > max){ // for 1회전 이상일때 max 의 값과 비교해서 크면 max 에 값을 넣습니다.
max = sugjuckAvg[i];
}
if (sugjuckAvg[i] < min){ // for가 2회전 이상일때 min 의 값과 비교해서 작으면 min 에 값을 넣습니다.
min = sugjuckAvg[i];
}
}
System.out.println("최대 :" + max);
System.out.println("최소 :" + min);
br.close();
}catch(Exception e){
System.out.println("error~");
}
}
}
3. RUN
이름 : aaa, 번호 : 1, hap : 270, 평균 : 90
이름 : bbb, 번호 : 2, hap : 232, 평균 : 77
이름 : ccc, 번호 : 3, hap : 295, 평균 : 98
이름 : ddd, 번호 : 4, hap : 213, 평균 : 71
최대 :98
최소 :71
'course > 지식인' 카테고리의 다른 글
[자바] switch case 만을 사용하여 성적 출력 (0) | 2016.01.29 |
---|---|
[자바] Scanner sc 에서 sc 의 개념과 기타 기본 개념. (0) | 2016.01.05 |
[자바] 숫자를 입력받아 최대, 최소 구하기 (0) | 2016.01.03 |