# [백준 자바] 01-08 A/B

- Author: @happyhw0589
- Published: 2021-12-29
- Updated: 2021-12-29
- Source: http://blex.me/@happyhw0589/%EB%B0%B1%EC%A4%80-%EC%9E%90%EB%B0%94-01-08-ab
- Tags: 코딩테스트, 백준, 자바

---

# 01단계 입출력과 사칙연산
## 08. A/B (1008)
#### 문제
---
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

#### 입력
---
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

#### 출력
---
첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

#### 예제 입력 1
---
>  1 &nbsp; 3

#### 예제 출력 1
---
> 0.33333333333333333333333333333333
10-9 이하의 오차를 허용한다는 말은 꼭 소수 9번째 자리까지만 출력하라는 뜻이 아니다.

#### 예제 입력 2
---
>  4 &nbsp; 5

#### 예제 출력 1
---
> 0.8

#### 문제 분석
---
1. A와 B를 입력 받는다. : Scanner 클래스 사용, Double형으로 받음.
2. 두 수를 나눈 값을 출력한다. : '/' 연산자 사용, print 메소드 사용

#### 제출
---
```cpp
import java.util.Scanner; //Scanner 클래스 호출
public class Main{
 public static void main(String[] args){
  Scanner s = new Scanner(System.in); //Scanner 객체 생성
  double A = s.nextDouble;(); //A를 실수형으로 입력받음.
  double B = s.nextDouble(); //B를 실수형으로 입력받음.
  s.close(); //Scanner 객체 사용 중지
        
  System.out.print(A-B); //A/B값 출력
 }
}
```

#### ★ 메모
---
**Scanner**<br>
**자바에서 입력을 받을 때 사용하는 클래스로 다양한 메소드 사용이 가능하다.**<br>
- 사용 전 import를 사용하여 클래스를 호출한다.<br>
 ```cpp
import java.util.Scanner;
 ```
- Scanner를 사용하기 위해서 Scanner 객체를 생성한다.<br>
```cpp
- Scanner 메소드이름 = new Scanner(System.in);
```
- Scanner 사용 후에는 close()명령어를 사용하여 닫아준다.
```cpp
메소드이름.close();
```

**Scanner 클래스를 이용하여 다양한 메소드를 사용할 수 있다.**<br>
 - next() : 공백 이전까지 문자열을 입력<br>
 - next자료형() : 자료형에 맞는 데이터를 입력<br>
이 문제에서는 A와  B를 정수형으로 받아 nextInt()를 사용하였다.<br>
 - nextLine() : 문자열 전체를 입력<br> 
 - charAt() : 문자 하나를 입력<br>

**float와 double**<br>
**float**<br>
1. 크기 : 4bytes<br>
2. 범위 : 약 -10^38 ~ 10^38 (1.175464e-38~3.402823e+38)<br>
3. 유효 자리수 : 7<br>
4. 비트구조 : IEEE 754 단정밀도 부동소수점<br>

**double**<br>
1. 크기 : 8bytes<br>
2. 범위 : 약 -10^306 ~ 10^308 (2.225074e-308~1.797693e+308)<br>
3. 유효 자리수 : 16<br>
4. 비트구조 :  IEEE 754 배정밀도 부동소수점<br>

이번 문제에 경우에는 오차가 10^(-9)이므로 float는 문제의 조건을 충족하지 않는다.<br>
그러므로 int나 float가 아닌 double자료형을 사용하여야 한다.

## 출처
---
**08. A/B (1008)<br>
https://www.acmicpc.net/problem/1008**
