JAVA/java 문제

[자바JAVA]연산자 - 산술연산자 활용

자바칩 프라푸치노 2020. 9. 18. 21:50

안녕하세요 자바칩 프라푸치노입니다.

오늘은 간단한 산술연산에 대한 문제를 풀어보겠습니다.

문제입니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package sec01_verify;
 
public class Exercise03 {
    public static void main(String[] args) {
 
 
         int pencils = 534;
         int students = 30;
         int pencilsPerStudent = pencils/students;
         int result = pencils-(pencilsPerStudent*students);
         
         System.out.println("학생 한 명이 가지는 연필 수 : "+ pencilsPerStudent);
        System.out.println("남은 연필 수: "+  result );
        
        
    }
 
}
 
cs

코드입니다.

pencilPerStudent 는 누가봐도 학생 한명이 가지는 연필 수 이죠?

그래서 pencils 나누기 student를 해주었구요

남은 연필수는 전체 연필수 - 학생수*학생 한명당 가진 연필 수 

이렇게 계산하므로

result를 새로 선언해주어

출력해주었습니다.


 

 

문제를 하나 더 출력해보겠습니다.

여러 연산이 가능하겠지만

저는 이렇게 해보았습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package sec01_verify;
 
public class Exercise04 {
    public static void main(String[] args) {
 
        
        int value = 356;
        value= value/100*100;
        System.out.println("value의 값: " + value);
 
        
    }
 
}
 
cs

 

356을 100으로 나누면 3이 되고 3에 100을 곱하면 300이 되니

이렇게 나오게 되었습니다!

출력결과는 이렇게 나왔네요


또 문제 하나 더 풀어보겠습니다.

 

이렇게 문제가 나왔습니다.

 

딱봐도 이것은 사다리꼴의 넓이를 구하는 거네요.

사다리꼴의 공식은 (윗변 + 아랫변) * 높이 /2 이죠

그렇다면 코드는

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package sec01_verify;
 
public class Exercise05 {
    public static void main(String[] args) {
 
 
        int lengthTop = 5;
        int lengthBottom = 10;
        int height = 7;
        double area = (lengthTop+lengthBottom)*height/2 ;
        
        System.out.println("결과값 : " + area);
 
 
    }
 
}
 
cs

이렇게 되겠네요.

그런데 결과값이 52.5가 아니라 52.0이네요

그 이유는 int형으로 연산을 해주었기 때문입니다.

그래서 double형으로 형변환을 해주어야겠죠.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package sec01_verify;
 
public class Exercise05 {
    public static void main(String[] args) {
 
 
 
        int lengthTop = 5;
        int lengthBottom = 10;
        int height = 7;
        double area = (double)(lengthTop+lengthBottom)*height/2 ;
        
        System.out.println("결과값 : " + area);
 
 
    }
 
}
 
cs

그래서 이렇게 해주면 되겠습니다 ㅎㅎ

수고하셨습니다 *^^*

728x90