CODE/JAVA1
Score
maskan
2021. 1. 28. 14:01
import java.util.ArrayList;
public class Score {
public static void main(String[] args) {
/*
* 우리반(25명) 모두의 국어, 영어, 수학, 사회, 과학, Oracle, Java 점수를 0~100까지 랜덤으로 생성하고
* 아래와 같이 출력하라
*
* 국어 영어 수학 사회 과학 Oracle Java 합계 평균 석차
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 과목합계 450 450 450 450 450 450 450
* 과목평균 90.00 90.00 90.00 90.00 90.00 90.00 90.00
*/
String[] names = { "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동",
"홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동",
"홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동", "홍길동",
"홍길동" };
String[] subjects = {"국어", "영어", "수학", "사회", "과학", "Oracle", "Java"};
ArrayList<ArrayList<Object>> score = new ArrayList<>();
ArrayList<String> name = new ArrayList<String>();
ArrayList<String> subject = new ArrayList<>();
int sum = 0;
double avg = 0;
for (int i = 0; i < names.length; i++) {
ArrayList<Object> sc7 = new ArrayList<>();
int rank = 1;
sum = 0;
for (int j = 0; j < subjects.length; j++) {
sc7.add((int) (Math.random() * 101));
sum += (int)sc7.get(j);
}
name.add(names[i]);
avg = Math.round((double)sum / subjects.length *100)/100.0;
sc7.add(sum);
sc7.add(avg); //only same type(Integer type) in same Array
sc7.add(rank);
score.add(sc7);
}
for (int i = 0; i < names.length; i++) {
for (int j = 0; j < names.length; j++) {
if ((int) score.get(i).get(7) < (int) score.get(j).get(7)) {
score.get(i).set(9, (int) score.get(i).get(9) + 1);
}
}
}
ArrayList<ArrayList> rfteacher = new ArrayList<>();
for (int i = 0; i < subjects.length; i++) {
sum = 0;
ArrayList<Object> sc7 = new ArrayList<>();
for (int j = 0; j < names.length; j++) {
sum += (int) score.get(j).get(i);
}
avg = Math.round((double)sum / names.length *100)/100.0;
sc7.add(sum);
sc7.add(avg);
rfteacher.add(sc7);
subject.add(subjects[i]);
}
for (int i = 0; i < subject.size(); i++) {
System.out.print("\t" + subject.get(i));
}
System.out.println("\t합계\t평균\t석차");
for (int b = 1; b <= name.size(); b++) {
for (int a = 0; a < name.size(); a++) {
if ((int)score.get(a).get(9) == b) {
System.out.print(name.get(a));
for (int j = 0; j < score.get(a).size(); j++) {
System.out.print("\t" + score.get(a).get(j));
}
System.out.println();
}
}
}
System.out.print("과목 총합");
for (int i = 0; i < rfteacher.size(); i++) {
System.out.print("\t" + rfteacher.get(i).get(0));
}System.out.println();
System.out.print("과목 평균");
for (int i = 0; i < rfteacher.size(); i++) {
System.out.print("\t" + rfteacher.get(i).get(1));
}
//////////////////////교수님 답안/////////////////////////
/*
* 우리반 모두의 국어, 영어, 수학, 사회, 과학, Oracle, Java 점수를
* 0 ~ 100까지 랜덤으로 생성해주시고, 아래와 같이 출력해주세요.
*
* 국어 영어 수학 사회 과학 Oracle Java 합계 평균 석차
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 홍길동 90 90 90 90 90 90 90 630 90.00 1
* 과목합계 450 450 450 450 450 450 450
* 과목평균 90.00 90.00 90.00 90.00 90.00 90.00 90.00
*/
// ArrayList<String> students = new ArrayList<>();
//
// students.add("정지수");
// students.add("이현기");
// students.add("윤지혜");
// students.add("정이삭");
// students.add("박세현");
// students.add("오세일");
// students.add("장병길");
// students.add("배수진");
// students.add("김지훈");
// students.add("임태준");
// students.add("최희수");
// students.add("전형섭");
// students.add("김혜정");
// students.add("송수미");
// students.add("진예은");
// students.add("양지수");
// students.add("김도윤");
// students.add("김보현");
// students.add("원정훈");
// students.add("문선준");
// students.add("진유리");
// students.add("김동익");
// students.add("이진수");
// students.add("박초원");
// students.add("김보미");
//
// ArrayList<String> subjects = new ArrayList<>();
// subjects.add("국어");
// subjects.add("영어");
// subjects.add("수학");
// subjects.add("사회");
// subjects.add("과학");
// subjects.add("Oracle");
// subjects.add("Java");
//
// //점수 발생
// ArrayList<ArrayList<Integer>> scores = new ArrayList<>();
//
// for(int i = 0; i < students.size(); i++){
// ArrayList<Integer> score = new ArrayList<>();
// for(int j = 0; j < subjects.size(); j++){
// score.add((int)(Math.random() * 101));
// }
// scores.add(score);
// }
//
// //합계/평균
// ArrayList<Integer> sums = new ArrayList<>();
// ArrayList<Double> avgs = new ArrayList<>();
//
// for(int i = 0; i < students.size(); i++){
// int sum = 0;
// for(int j = 0; j < subjects.size(); j++){
// sum += scores.get(i).get(j);
// }
// double avg = Math.round((double)sum / subjects.size() * 100) / 100.0;
// sums.add(sum);
// avgs.add(avg);
// }
//
// //석차
// ArrayList<Integer> ranks = new ArrayList<>();
//
// for(int i = 0; i < sums.size(); i++){
// ranks.add(1);
// for(int j = 0; j < sums.size(); j++){
// if(sums.get(i) < sums.get(j)){
// ranks.set(i, ranks.get(i) + 1);
// }
// }
// }
//
// //정렬
// for (int i = 0; i < ranks.size() - 1; i++) {
// int min = i;
// for (int j = i + 1; j < ranks.size(); j++) {
// if (ranks.get(j) < ranks.get(min)) {
// min = j;
// }
// }
//
// String name = students.get(i);
// students.set(i, students.get(min));
// students.set(min, name);
//
// ArrayList<Integer> list = scores.get(i);
// scores.set(i, scores.get(min));
// scores.set(min, list);
//
// Integer sum = sums.get(i);
// sums.set(i, sums.get(min));
// sums.set(min, sum);
//
// Double avg = avgs.get(i);
// avgs.set(i, avgs.get(min));
// avgs.set(min, avg);
//
// int rank = ranks.get(i);
// ranks.set(i, ranks.get(min));
// ranks.set(min, rank);
// }
//
// //출력
// for(int i = 0; i < subjects.size(); i++){
// System.out.print("\t" + subjects.get(i));
// }
// System.out.println("\t합계\t평균\t석차");
//
// for(int i = 0; i < students.size(); i++){
// System.out.print(students.get(i) + "\t");
// for(int j = 0; j < subjects.size(); j++){
// System.out.print(scores.get(i).get(j) + "\t");
// }
// System.out.print(sums.get(i) + "\t");
// System.out.print(avgs.get(i) + "\t");
// System.out.print(ranks.get(i) + "\t");
// System.out.println();
// }
//
// //과목합계/과목평균
// ArrayList<Integer> subjectSums = new ArrayList<>();
// ArrayList<Double> subjectAvgs = new ArrayList<>();
// for(int i = 0; i < subjects.size(); i++){
// int sum = 0;
// for(int j = 0; j < students.size(); j++){
// sum += scores.get(j).get(i);
// }
// double avg = Math.round((double)sum / students.size() * 100) / 100.0;
// subjectSums.add(sum);
// subjectAvgs.add(avg);
// }
//
// System.out.print("과목합계");
// for(int i = 0; i < subjectSums.size(); i++){
// System.out.print("\t" + subjectSums.get(i));
// }
// System.out.println();
// System.out.print("과목평균");
// for(int i = 0; i < subjectAvgs.size(); i++){
// System.out.print("\t" + subjectAvgs.get(i));
// }
// System.out.println();
// }
//
// }
}
}