CHANGEL
SOLID BASICS
CHANGEL

공지사항

  • DEV.CHANGEL PROFILE
  • SOLID BASIC (289)
    • 공부 STUDY (115)
      • JAVA (57)
      • C | C++ (34)
      • CS (11)
      • MySQL (2)
      • ALGORITHM (1)
      • HTML (2)
      • CSS (2)
      • JS (2)
      • CODING (0)
      • MINI PROJECT (3)
    • 스프링 SPRING (21)
      • [SPRING] 김영한 스프링 입문 (11)
      • [SPRING] 남궁성 스프링의 정석 (1)
      • [SPRING] 스프링 핵심원리 (9)
    • 전공 수업 CS (65)
      • Computer Network (13)
      • algorithms (21)
      • Computer Architecture (7)
      • Software Engineering (4)
      • Data Structure (2)
      • DataBase (1)
      • Digital Engineering (14)
      • Discrete Mathematics (3)
      • Introduction to programming (0)
      • Mobile Software (0)
      • Intelligence and Informatio.. (0)
    • 대외활동 (35)
      • 신한은행 대학생 홍보대사 34기 (8)
      • SKT T프렌즈 5기 (13)
      • SK DEVOTION YOUNG 1기 (9)
      • 성균관 대학교 공학교육혁신센터 수강 (3)
      • 수상 기록 (1)
    • 솝트 33기 안드로이드 (7)
      • [솝트 33기] 회고록 (0)
      • [솝트 33기] 안드로이드 왕초보 스터디 (2)
      • [솝트 33기] 코틀린 스터디 (0)
      • [솝트 33기] Git을 털어보자 깃털 스터디 (4)
    • 멋쟁이사자처럼 11기 (6)
      • 멋사 회고록 (4)
      • 백엔드 세션 (1)
      • 기획 세션 (1)
      • 연합해커톤 운영단 (기획팀) (0)
    • 백준 BAEKJOON (16)
    • 독서 BOOK (10)
    • 자격증 CERTIFICATE (1)
    • 준비 서류 및 회고록 MEMOIR (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

최근 댓글

인기 글

CHANGEL

SOLID BASICS

공부 STUDY/JAVA

[JAVA] 자바의 정석 연습문제 5장 배열 [5-4]

2023. 2. 25. 09:02

[5-4] 2차원 배열 arr에 담긴 모든 값의 총합과 평균을 구하는 프로그램을 완성하시오.

 

public class No1 {
    public static void main(String[] args) {
        int[][] arr ={
                {5, 5, 5, 5, 5},
                {10, 10, 10, 10, 10},
                {20, 20, 20, 20, 20},
                {30, 30, 30, 30, 30},
        };

        int total = 0;
        float average = 0;


        for(int i = 0; i <arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                total += arr[i][j];

            }
            average = total / (float) (arr.length * arr[0].length); // int로 나눌 경우 int 나누기 int 이므로 결과를 int로 얻는다. 그러므로 나누는 값을
            //형변환해야한다.
        }
        System.out.println("total = " + total);
        System.out.println("average = " + average);
    }
}

 

# 숙지해야할 점:

 

평균을 구할 때는 배열의 모든 요소의 총합을 개수로 나누면 되는데, int로 나누면  int  나누기 int 이기 때문에 결과를 int로 얻으므로 소수점 이하의 값을 얻을 슈 없다. 그래서 나누는 값 역시 float으로 형변환해주어야한다.

 

 

 

int형(4byte) 보다 크기가 작은 자료형은 int형으로 형변환 후에 연산을 수행한다.

 

두 개의 피연산자 중 자료형의 표현 범위가 큰 쪽에 맞춰서 형변환 된 후 연산을 수행한다.

 

정수형 간의 나눗셈에서 0으로 나누는 것은 금지되어 있다.

저작자표시

'공부 STUDY > JAVA' 카테고리의 다른 글

[JAVA] 자바의 정석 연습문제 [6-6, 6-7] static 메서드와 인스턴스 메서드의 차이  (0) 2023.02.26
[JAVA] 자바의 정석 연습문제 5장 배열 [5-5]  (0) 2023.02.25
[JAVA] Assertions.assertThat 비교 하기  (0) 2023.01.25
[JAVA] File 클래스 | RandomAccessFile 클래스에 대해 알아보자  (0) 2023.01.24
[JAVA] 직렬화 (Serialization ), 역직렬화 (Deserialization)  (0) 2023.01.24
    '공부 STUDY/JAVA' 카테고리의 다른 글
    • [JAVA] 자바의 정석 연습문제 [6-6, 6-7] static 메서드와 인스턴스 메서드의 차이
    • [JAVA] 자바의 정석 연습문제 5장 배열 [5-5]
    • [JAVA] Assertions.assertThat 비교 하기
    • [JAVA] File 클래스 | RandomAccessFile 클래스에 대해 알아보자
    CHANGEL
    CHANGEL
    NOT GIVING UP | SOLID BASICS

    티스토리툴바