결제 금액 캐시백 계산 프로그램
- 수행 목적 : Scanner의 입력함수와 조건문을 통한 캐시백 계산 로직 작성
- 간략 소개 : 직불카드로 결제를 하게되면 이에 대한 캐시백을 제공해 줍니다. 주어진 캐시백 금액을 계산하는 프로그램을 작성해 보세요.
※ 필수 준수사항
1. 주어진 캐시백 적립 조건에 맞게 캐시백 계산
2. 결제 금액을 입력하면, 이에 대한 캐시백 계산 후 결과 출력
[캐시백 계산 조건]
- 결제 금액의 10%를 적립한다.
- 캐시백 포인트 단위는 백원 단위이다.
- 한 건의 캐시백 포인트는 최대 300원을 넘을 수 없습니다.
Math.round() 함수
: 입력 값을 반올림한 수와 가장 가까운 정수 값을 반환
public class test {
public static void main(String[] args) {
double input = 9.4365;
int a = (int) Math.round(input);
// 라운드는 소수점 첫째자리 기준으로 모두 올리거나 내리는 메서드이다.
System.out.println(a);
// Math.round() : 소수 첫째자리 반올림
// 소수점 자리 다양하게 표현 가능
// 소수점 둘째자리 까지(반올림)
double b = Math.round(input * 100) / 100.0;
System.out.println(b);
// 소수점 셋째자리 까지
double c = Math.round(input * 1000) / 1000.0;
System.out.println(c);
}
}
원 단위 절사
: 원 단위의 경우 10, 십원 단위는 100, 백원 단위는 1000, ...을 이용해 절사가 가능하다.
작성 코드
// 결제 금액 캐시백 계산 프로그램
import java.util.Scanner;
public class Cash {
public static void main(String[] args) {
System.out.println("[캐시백 계산]");
Scanner sc = new Scanner(System.in); // Scanner 객체 생성
System.out.print("결제 금액을 입력해 주세요.(금액): ");
int input = sc.nextInt();
int cashback = (int)(input * 0.1); // 결제 금액의 10% 적립
int result = Math.round(cashback) / 100 * 100;
if(cashback<=300){
System.out.printf("결제 금액은 %d원 이고, 캐시백은 %d원 입니다.", input, result);
} else if(cashback>300){
System.out.println("한 건의 캐시백 포인트는 최대 300원을 넘을 수 없습니다.");
System.out.printf("결제 금액은 %d원 이고, 캐시백은 300원 입니다.", input);
}
}
}
https://gist.github.com/coha96/7dd97c298c95cee0104752879429ef24
'JAVA > 백엔드_미니과제' 카테고리의 다른 글
가상 대선 당선 시뮬레이션 프로그램 (0) | 2023.03.10 |
---|---|
달력 출력 프로그램 (0) | 2023.03.08 |
주민등록번호 생성 프로그램 (0) | 2023.03.07 |
놀이동산 입장권 계산 프로그램 (0) | 2023.03.07 |
구구단 출력 (0) | 2023.03.05 |