Card는 다음 메서드가 있는 인터페이스입니다.
- 'int pay(int amount, String name)'
- 'int withdraw(int amount)'
- 'int deposit(int amount)'
VenusCard는 Card 인터페이스를 구현하는 구체적인 클래스입니다. 다음을 실행해야 합니다.
- 도달범위 지급을 위한 영수증 생성
- 잔액이 0보다 작은 경우 모든 지급 또는 인출에 5% 수수료를 추가하는 pay() 및 withdraw() 로직을 포함합니다.
- 거래로 인해 잔액이 오버드라이프 한도 아래로 떨어지면 거래를 거부하고 -1을 반환해야 합니다.
응답
// Define the Card interfaceinterfaceCard{intpay(intamount,Stringname);intwithdraw(intamount);intdeposit(intamount);}//VenusCard class that implements Card interfaceimportjava.util.ArrayList;importjava.util.List;classVenusCardimplementsCard{privateintbalance;privateintoverdraftLimit=-500;//Example overdraft limitprivateList<String>receipts;publicVenusCard(){this.balance=0;this.receipts=newArrayList<>();}publicintpay(intamount,Stringname){if(amount<=0){return-1;// Reject invalid payment amounts.}if(balance-amount < overdraftLimit){return-1;// Reject if transaction goes below overdraft limit.}balance-=amount;doublefee=0;if(balance < 0){fee=amount*0.05;balance-=fee;}receipts.add("Payment of "+amount+" to "+name+" made. Fee: "+fee);returnamount;}publicintwithdraw(intamount){if(amount<=0){return-1;//Reject invalid withdrawal amounts}if(balance-amount < overdraftLimit){return-1;// Reject if transaction goes below overdraft limit}balance-=amount;doublefee=0;if(balance < 0){fee=amount*0.05;balance-=fee;}receipts.add("Withdrawal of "+amount+" made. Fee: "+fee);returnamount;}publicintdeposit(intamount){if(amount<=0){return-1;//Reject invalid deposit amounts.}balance+=amount;receipts.add("Deposit of "+amount+" made.");returnamount;}publicintgetBalance(){returnbalance;}publicList<String>getReceipts(){returnreceipts;}publicstaticvoidmain(String[]args){VenusCardcard=newVenusCard();System.out.println(card.deposit(1000));System.out.println(card.pay(500,"Store A"));System.out.println(card.getBalance());System.out.println(card.withdraw(800));System.out.println(card.getBalance());System.out.println(card.getReceipts());}}
요약: 이 코드는 기본 카드 기능 (결제, 출금, 입금)을 정의하는 Card 인터페이스를 구현합니다. VenusCard 클래스는 이 인터페이스를 구현하여 영수증 생성, 잔액이 0보다 작은 경우 거래에 대한 5% 수수료, 잔액이 정의된 오버드라이프 한도보다 낮아지는 거래를 방지하기 위한 오버드라이프 한도 확인과 같은 기능을 추가합니다. main 메서드는 VenusCard 클래스를 사용하는 간단한 예를 제공합니다. 잘못된 거래 금액 (0보다 작거나 같은 금액)을 거부하기 위한 오류 처리가 포함되어 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-12-05(UTC)"],[],[]]