반응형
- 15번
package ch6;
class MemberService {
boolean login(String id, String password) {
if ("hong".equals(id) && "12345".equals(password)) {
return true;
} else {
return false;
}
}
void logout(String id) {
System.out.println("로그아웃 되었습니다.");
}
}
public class Exercise15 {
public static void main(String[] args) {
MemberService memberService = new MemberService();
boolean result = memberService.login("hong", "12345");
if (result) {
System.out.println("로그인 되었습니다.");
memberService.logout("hong");
} else {
System.out.println("id 또는 password가 올바르지 않습니다.");
}
}
}
- 16번
package ch6;
class Printer {
void println(int num) {
System.out.println(num);
}
void println(boolean tf) {
System.out.println(tf);
}
void println(double likeF) {
System.out.println(likeF);
}
void println(String word) {
System.out.println(word);
}
}
public class Exercise16 {
public static void main(String[] args) {
Printer printer = new Printer();
printer.println(10);
printer.println(true);
printer.println(5.7);
printer.println("홍길동");
}
}
- 17번
package ch6;
class Printer2 {
static void println(int num) {
System.out.println(num);
}
static void println(boolean tf) {
System.out.println(tf);
}
static void println(double likeF) {
System.out.println(likeF);
}
static void println(String word) {
System.out.println(word);
}
}
public class Exercise17 {
public static void main(String[] args) {
Printer2.println(10);
Printer2.println(true);
Printer2.println(5.7);
Printer2.println("홍길동");
}
}
- 19번
package ch6;
class Count {
static final int MAX_BALANCE = 1000000;
static final int MIN_BALANCE = 0;
private int balance;
int getBalance() {
return balance;
}
void setBalance(int balance) {
if(balance >= MIN_BALANCE && balance <= MAX_BALANCE) {
this.balance = balance;
}
}
}
public class Exercise19 {
public static void main(String[] args) {
Count account = new Count();
account.setBalance(10000);
System.out.println("present money: " + account.getBalance());
account.setBalance(-100);
System.out.println("present money: " + account.getBalance());
account.setBalance(2000000);
System.out.println("present money: " + account.getBalance());
account.setBalance(300000);
System.out.println("present money: " + account.getBalance());
}
}
- 20번
package ch6;
import java.util.Scanner;
class Account {
private String ano;
private String owner;
private int balance;
public Account(String ano, String owner, int balance) {
this.ano = ano;
this.owner = owner;
this.balance = balance;
}
public String getAno() {
return ano;
}
public void setAno(String ano) {
this.ano = ano;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
}
public class Exercise20 {
private static Account[] accountArray = new Account[100];
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
boolean run = true;
while (run) {
System.out.println("------------------------------------------------");
System.out.println("1. 계좌생성 | 2. 계좌목록 | 3. 예금 | 4. 출금 | 5. 종료");
System.out.println("------------------------------------------------");
System.out.print("선택> ");
int selectNo = scanner.nextInt();
if (selectNo == 1) {
createAccount();
} else if (selectNo == 2) {
accountList();
} else if (selectNo == 3) {
deposit();
} else if (selectNo == 4) {
withdraw();
} else if (selectNo == 5) {
run = false;
}
}
System.out.println("프로그램 종료");
}
// 계좌 생성하기
private static void createAccount() {
System.out.println("--------------");
System.out.println("create account");
System.out.println("--------------");
System.out.print("account number: ");
String ano = scanner.next();
System.out.print("accounter name: ");
String owner = scanner.next();
System.out.print("first deposit: ");
int balance = scanner.nextInt();
Account account = new Account(ano, owner, balance);
for (int i = 0; i < accountArray.length; i++) {
if (accountArray[i] == null) {
accountArray[i] = account;
System.out.println("result: account is created.");
break;
}
}
}
// 계좌 목록보기
private static void accountList() {
System.out.println("--------------");
System.out.println("account list");
System.out.println("--------------");
for (int i = 0; i < accountArray.length; i++) {
if (accountArray[i] != null) {
System.out.println(accountArray[i].getAno() + '\t' + accountArray[i].getOwner() + '\t'
+ accountArray[i].getBalance());
}
}
}
// 예금하기
private static void deposit() {
System.out.println("--------------");
System.out.println("deposit");
System.out.println("--------------");
System.out.print("account number: ");
String ano = scanner.next();
System.out.print("deposit amount: ");
int balance = scanner.nextInt();
Account account = findAccount(ano);
if (account == null) {
System.out.println("result: there is no existing account");
}
account.setBalance(account.getBalance() + balance);
System.out.println("result: deposit success");
}
// 출금하기
private static void withdraw() {
System.out.println("--------------");
System.out.println("withdraw");
System.out.println("--------------");
System.out.print("account number: ");
String ano = scanner.next();
System.out.print("withdraw amount: ");
int balance = scanner.nextInt();
Account account = findAccount(ano);
if (account == null) {
System.out.println("result: there is no existing account");
}
if (account.getBalance() < balance) {
System.out.println("you can not withdraw more than your deposit");
}
account.setBalance(account.getBalance() - balance);
System.out.println("result: withdraw success");
}
// Account 배열에서 ano와 동일한 Account 객체 찾기
private static Account findAccount(String ano) {
Account account = null;
for (int i = 0; i < accountArray.length; i++) {
if (accountArray[i] != null) {
if (accountArray[i].getAno().equals(ano)) {
account = accountArray[i];
break;
}
}
}
return account;
}
}
728x90
반응형
'Java > 이것이 자바다' 카테고리의 다른 글
인터페이스 (0) | 2023.03.14 |
---|---|
상속 (0) | 2023.03.08 |
이자바 5장(참조 타입) 확인문제 (0) | 2022.11.23 |
이자바 4장(조건문과 반복문) 확인문제 (0) | 2022.11.23 |
어노테이션 (0) | 2022.10.21 |
댓글