public class Scores_1 {
public static void main(String[] args) {
/*
* 우리반 모두의 국어, 영어, 수학, 사회, 과학, 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"};
int[][] score = new int[names.length][subjects.length];
for(int i = 0; i < score.length; i++){
for(int j = 0; j < score[i].length; j++){
score[i][j] = (int)(Math.random() * 101);
}
}
int[] nameSum = new int[score.length];
double[] nameAvg = new double[score.length];
for(int i = 0; i < score.length; i++){
for(int j = 0; j < score[i].length; j++){
nameSum[i] += score[i][j];
}
nameAvg[i] = Math.round((double) nameSum[i] / subjects.length * 100) / 100.0;
}
int[] subSum = new int[subjects.length];
double[] subAvg = new double[subjects.length];
for(int i = 0; i < subjects.length; i++){
for(int j = 0; j < score.length; j++){
subSum[i] += score[j][i];
}
subAvg[i] = Math.round((double)subSum[i] / score.length * 100) / 100.0;
}
int[] rank = new int[score.length];
for(int i = 0; i < score.length; i++){
rank[i] = 1;
for(int j = 0; j < score.length; j++){
if(nameSum[i] < nameSum[j]){
rank[i]++;
}
}
}
//정렬
for(int i = 0; i < nameSum.length - 1; i++){
int max = i;
for(int j = i + 1; j < nameSum.length; j++){
if(nameSum[max] < nameSum[j]){
max = j;
}
}
int[] temp = score[i];
score[i] = score[max];
score[max] = temp;
int temp2 = nameSum[i];
nameSum[i] = nameSum[max];
nameSum[max] = temp2;
double temp3 = nameAvg[i];
nameAvg[i] = nameAvg[max];
nameAvg[max] = temp3;
int temp4 = rank[i];
rank[i] = rank[max];
rank[max] = temp4;
String temp5 = names[i];
names[i] = names[max];
names[max] = temp5;
}
//출력
for(int i = 0; i < subjects.length; i++){
System.out.print("\t" + subjects[i]);
}
System.out.println("\t합계\t평균\t석차");
for(int i = 0; i < score.length; i++){
System.out.print(names[i] + "\t");
for(int j = 0; j < score[i].length; j++){
System.out.print(score[i][j] + "\t");
}
System.out.println(nameSum[i] + "\t" + nameAvg[i] + "\t" + rank[i]);
}
System.out.print("과목합계\t");
for(int i = 0; i < subSum.length; i++){
System.out.print(subSum[i] + "\t");
}
System.out.println();
System.out.print("과목평균\t");
for(int i = 0; i < subAvg.length; i++){
System.out.print(subAvg[i] + "\t");
}
}
}
public class Scores {
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"};
int[][] scores = new int[names.length][subjects.length];
for (int i = 0; i < names.length; i++) {
for (int j = 0; j < subjects.length; j++) {
scores[i][j] = (int) (Math.random() * 101);
}
}
int[] name_sum = new int[names.length];
int[] subject_sum = new int[subjects.length];
double[] name_avg = new double[names.length];
double[] subject_avg = new double[subjects.length];
for (int i = 0; i < names.length; i++) {
for (int j = 0; j < subjects.length; j++) {
name_sum[i] += scores[i][j];
}
name_avg[i] = Math.round(name_sum[i] * 100 / 7) / 100.0;
}
for (int i = 0; i < subjects.length; i++) {
for (int j = 0; j < names.length; j++) {
subject_sum[i] += scores[j][i];
}
subject_avg[i] = Math.round(subject_sum[i] * 100 / 7) / 100.0;
}
int[] rank = new int[names.length];
for (int i = 0; i < names.length; i++) {
rank[i] = 1;
for (int j = 0; j < names.length; j++) {
if (name_sum[j] > name_sum[i]) {
rank[i]++;
}
}
}
for (int i = 0; i < subjects.length; i++) {
System.out.print("\t" + subjects[i]);
}
System.out.println("\t합계\t평균\t석차");
for (int j = 0; j < rank.length; j++) {
for (int i = 0; i < rank.length; i++) {
if (rank[i] == j + 1) {
System.out.print(names[i]);
for (int p = 0; p < scores[i].length; p++) {
System.out.print("\t" + scores[i][p]);
}
System.out.println("\t" + name_sum[i] + "\t" + name_avg[i]
+ "\t" + rank[i]);
}
}
}
System.out.print("과목 합계\t");
for (int i = 0; i < subject_sum.length; i++) {
System.out.print(subject_sum[i] + "\t");
}
System.out.println();
System.out.print("과목 평균\t");
for (int i = 0; i < subject_avg.length; i++) {
System.out.print(subject_avg[i] + "\t");
}
}
}
'CODE > JAVA1' 카테고리의 다른 글
Sort (0) | 2021.01.27 |
---|---|
SetComma (0) | 2021.01.27 |
ChangeQuiz (0) | 2021.01.27 |
MultiDimensionalArray (0) | 2021.01.27 |
Array (0) | 2021.01.27 |