1045 : [기초-산술연산] 정수 2개 입력받아 자동 계산하기
정수 2개(a, b)를 입력받아 합, 차, 곱, 몫, 나머지, 나눈 값을 자동으로 계산해보자.
단 0 <= a, b <= 2147483647, b는 0이 아니다.
입력
정수 2개가 공백을 두고 입력된다.
출력
첫 줄에 합
둘째 줄에 차,
셋째 줄에 곱,
넷째 줄에 몫,
다섯째 줄에 나머지,
여섯째 줄에 나눈 값을 순서대로 출력한다.
(실수, 소수점 이하 셋째 자리에서 반올림해 둘째 자리까지 출력)
입력 예시
10 3
출력 예시
13
7
30
3
1
3.33
자바에서 정수 2개를 공백을 두고 입력해서 받을 때는 String 형태로 받고 split함수로 나눠서 배열에 저장한다.
그리고 첫 번째 배열과 두 번째 배열을 정수형으로 저장한다.
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
String[] numArr = num.split(" ");
int firstNum =Integer.parseInt(numArr[0]);
int secondNum = Integer.parseInt(numArr[1]);
첫 줄에 합, 둘째 줄에 차, 셋째 줄에 곱, 넷째 줄에 몫, 다섯째 줄에 나머지, 여섯째 줄에 나눈 값(실수, 소수점 이하 셋째 자리에서 반올림해 둘째 자리까지 출력)을 출력한다.
이때, 소수점 이하 셋째 자리에서 반올림하여 둘째 자리까지 출력하는 방법은 두가지가 있다.
Math.Round()함수를 사용하거나
String.Format()함수를 이용한다.
Math.Round() 함수는
소수점 이하 첫째자리에서 반올림해주는 함수로 원하는 자리수까지 표현하려면 10^n을 곱하고 10^n.0으로 나눈다.
예를 들어서
소수 첫째 자리까지 나타내고 싶으면
Math.Round(number * 10) / 10.0을 해야하고
소수 둘째 자리까지 나타내고 싶으면
Math.Round(number * 100) / 100.0을 해야하고
소수 셋째 자리까지 나타내고 싶으면
Math.Round(number * 1000) / 1000.0 이런 식으로 표현해야한다.
String.format()함수는
String클래스의 format 메소드는 리턴되는 문자열 형태를 지정하는 함수인데 이 함수를 활용하면 Math.round() 함수와 같이 소수점 n번째 자리까지 반올림하여 나타낼 수 있습니다.
double pie = 3.14159265358979;
double money = 4424.243423;
System.out.println(String.format("%.2f", pie)); //결과 : 3.14
System.out.println(String.format("%.3f", pie)); //결과 : 3.142
System.out.println(String.format("%,.3f", money)); //결과 : 4,424.243
출처 : coding-factory.tistory.com/250
그러면 이렇게 작성하면된다.
package excercise;
import java.util.*;
public class codeup {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
String[] numArr = num.split(" ");
int firstNum =Integer.parseInt(numArr[0]);
int secondNum = Integer.parseInt(numArr[1]);
System.out.println(firstNum + secondNum); // 덧셈
System.out.println(firstNum - secondNum); // 뺄셈
System.out.println(firstNum * secondNum); // 곱셈
System.out.println(firstNum / secondNum); // 몫
System.out.println(firstNum % secondNum); // 나머지
System.out.println(String.format("%.2f", (double)firstNum / secondNum)); // 소수 두 번째 자리에서 반올림 or
System.out.println(Math.round(((double)firstNum / secondNum) * 100) / 100.0); // 소수 두 번째 자리에서 반올림
}
}
'코드업(CodeUp) > 기초 100제' 카테고리의 다른 글
[코드업/자바] 기초 100제 - 정수 1개 입력받아 2배 곱해 출력하기 (0) | 2021.01.26 |
---|---|
[코드업/자바] 기초 100제 - 정수 3개 입력받아 합과 평균 출력하기 (0) | 2021.01.25 |
[코드업/자바] 기초 100제 - 정수 1개 입력받아 1 더해 출력하기 (0) | 2021.01.19 |
[코드업/자바] 기초 100제 - 정수 2개 입력받아 나눈 나머지 출력하기 (0) | 2021.01.18 |
[코드업/자바] 기초 100제 - 정수 2개 입력받아 나눈 몫 출력하기 (0) | 2021.01.18 |