일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- PLSQL
- 정처기실기정리
- 날짜지정팝업
- 2020정보처리기사실기요약
- 자바기초
- spring crud게시판
- 스프링 CRUD게시판
- 오라클설치
- Oracle기초
- 자바배열예제
- 게시판만들기
- 2020정보처리기사실기정리
- 오버라이딩
- jsp 팝업띄우기
- 프로그래머스 MYSQL
- 스프링게시판만들기
- 정보처리기사실기정리
- crud게시판
- 2020정보처리기사실기
- jsp게시판만들기
- 자바연산자
- 자바 정규표현식 예제
- spring crud
- js datepicker
- CRUD게시판만들기
- 프로그래머스 쿼리문
- jsp 날짜팝업
- 프로그래머스 SQL
- html기초
- 스프링 crud
Archives
- Today
- Total
영보의 SystemOut.log
[Java] 자바 Enum 응용 결제/정산 시스템 만들기 본문
반응형
자바/스프링 기반 디지털 융합 웹 개발자 양성과정 8일차
시나리오
결제라는 데이터는 ‘결제 종류’와 ‘결제 수단’이라는 2가지 형태로 표현된다.
예를 들어 신용카드 결제는 신용카드 결제라는 결제 수단이며, 카드라는 결제 종류에 포함된다.
소스 코드
PayGrop.java
package Enum응용실습;
import java.util.*;
import java.lang.*;
/*
Arrays 클래스의 주요 메소드
=> static <T> List<T> asList(T..a)
=> 기능 : 전달받은 배열은 고정 크기의 List로 변환하여 변환해주는 메소드
*/
public enum PayGrop {
CASH("현금", Arrays.asList("계좌이체","무통장입금","현장결제","토스")),
CARD("카드",Arrays.asList("페이코","신용카드","카카오페이","배민페이")),
ETC("기타",Arrays.asList("포인트","쿠폰")),
EMPTY("결제종류없음",Collections.EMPTY_LIST);
private String title;
private List<String> payList;
// 생성자
PayGrop(String title, List<String> payList){
this.title = title;
this.payList = payList;
}
public static PayGrop findByPayCode(String code){
// 자바 람다식, 스트림의 파이프 라인 연결
return Arrays.stream(PayGrop.values()).filter(payGrop -> payGrop.hasPayCode(code)).findAny().orElse(EMPTY);
}
// 사용자 정의 메소드 구현
public boolean hasPayCode (String code){
return payList.stream().anyMatch(pay -> pay.equals(code));
}
public String getTitle() {
return title;
}
public List<String> getPayList() {
return payList;
}
}
PayGropTest.java
package Enum응용실습;
import java.util.Scanner;
public class PayGropTest {
private static final Object EMPTY = null;
public static void main(String[] args) {
for(PayGrop type : PayGrop.values()){
System.out.print("결제 종류 : ");
System.out.println(type.getTitle());
}
System.out.println();
for(PayGrop type : PayGrop.values()){
System.out.println(type.getPayList());
}
System.out.println();
System.out.print("결제 수단을 입력하세요 >>> ");
Scanner in = new Scanner(System.in);
String payment_means = in.next();
PayGrop pay = PayGrop.findByPayCode(payment_means);
if(pay.equals(EMPTY)){
System.out.println("결제 종류 : "+pay.getTitle());
}else{
System.out.println("결제 종류 : "+pay.getTitle());
}
}
}
자바 Enum 응용 결제/정산 시스템 만들기
반응형
'국비교육(아이티센 입사교육) > Java' 카테고리의 다른 글
[Java] SHA-256 해싱(Hashing)알고리즘으로 패스워드 암호화하기 (2) | 2021.11.02 |
---|---|
[Java] 자바 공연 예약 어플리케이션 만들기 (0) | 2021.10.07 |
[Java] 자바 정규표현식 사용하여 댓글 분석하기 (compile, matcher, pattern) (0) | 2021.10.07 |
[Java] 람다식(Lambda Expressions) / 스트림(Stream) / 예제 (0) | 2021.10.06 |
[Java] 자바 스레드(Thread)개념 / 스레드 스케줄링 / 예제 (0) | 2021.10.06 |