import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class calurator {
public void book() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> param = new HashMap<String, Object>(); // 객체생성
param.put("name", "이름1");
param.put("book1", 70);
param.put("book2", 80);
list.add(param); // 리스트에 담는다
param = new HashMap<String, Object>(); // 객체 생성
param.put("name", "이름2");
param.put("book1", 77);
param.put("book2", 70);
list.add(param); // 리스트에 담는다
param = new HashMap<String, Object>(); // 객체 생성
param.put("name", "이름3");
param.put("book1", 60);
param.put("book2", 80);
list.add(param); // 리스트에 담는다
System.out.println("순서\t이름\t과목1\t과목2\t합계\t평균\t등수");
for(int i=0; i<list.size(); i++) { // 리스트에 담은걸 뽑아 내기
Map<String, Object> result = new HashMap<String, Object>();
result = (Map<String, Object>) list.get(i);
int book1 = Integer.parseInt(String.valueOf(result.get("book1")));
int book2 = Integer.parseInt(String.valueOf(result.get("book2")));
System.out.print(i+1 + "\t");
System.out.print(result.get("name") + "\t");
System.out.print(result.get("book1") + "\t");
System.out.print(result.get("book2") + "\t");
System.out.print(getSum(book1, book2) + "\t");
System.out.print(getAvg(book1, book2) + "\t");
int[] total = new int[2];
int cnt = 0;
for(int j=0; j<list.size(); j++) { // 등수를 구하기 위해 본인외 리스트에 담은걸 뽑아 내기
Map<String, Object> result1 = new HashMap<String, Object>();
result1 = (Map<String, Object>) list.get(j);
int book3 = Integer.parseInt(String.valueOf(result1.get("book1")));
int book4 = Integer.parseInt(String.valueOf(result1.get("book2")));
if(!String.valueOf(result1.get("name")).equals(String.valueOf(result.get("name")))) { // 본인외 합 뽑기
total[cnt] = getSum(book3, book4);
cnt++;
}
}
System.out.println(getRank(total, getSum(book1, book2)));
}
}
// 합 구하기
public int getSum(int num1, int num2) {
int result = num1 + num2;
return result;
}
// 평균 구하기
public double getAvg(int num1, int num2) {
double result = (num1 + num2) / 3d;
return Math.round(result * 100) / 100.0;
}
// 등수 구하기 total : 나머지 두명의 합 배열, sum : 본인 점수 합
public int getRank(int[] total, int sum) {
int result = 1;
for(int i=0; i<total.length; i++) {
if(sum < total[i]) {
result += 1;
}
}
return result;
}
}
public class array {
public static void main(String[] args) {
calurator c = new calurator();
c.book();
}
}
'IT, 인터넷 > JAVA, 스프링부트' 카테고리의 다른 글
자바 피쉬 게임 만들기 (0) | 2021.09.30 |
---|---|
java.lang.reflect.Array를 이용한 배열 생성 (0) | 2021.09.30 |
자바 Scanner로 숫자 10개 입력 받아 합 구하기 (0) | 2021.09.29 |
자바 Scanner 이용해서 회문수 구하기 (0) | 2021.09.29 |
화면에서 넘어온 값 split으로 잘라서 업데이트 하기 (0) | 2021.09.27 |