package practice.pet;
public class Pet {
private String name;
private int energy;
private boolean hungry;
public Pet(String name) {
this.name = name;
energy = 50;
hungry = true;
}
public void feed() {
if (hungry) {
energy = energy + 20;
if (energy > 100) {
energy = 100;
}
hungry = false;
} else {
System.out.println("배가 부릅니다.");
}
}
public void play() {
if (hungry) {
System.out.println("배고파서 놀 수 없습니다.");
} else {
energy = energy - 10;
}
if (energy <= 0) {
System.out.println("지쳐서 배가 고파졌습니다.");
hungry = true;
}
}
public void rest() {
energy = energy + 30;
if (energy > 100) {
energy = 100;
}
}
public void showInfo() {
System.out.println("이름: " + name);
System.out.println("에너지: " + energy);
if (hungry) {
System.out.println("배고픔: 배고픔");
} else {
System.out.println("배고픔: 배부름");
}
}
public static void main(String[] args) {
Pet pet = new Pet("콩이");
pet.showInfo();
pet.play();
pet.feed();
pet.play();
pet.play();
pet.rest();
pet.showInfo();
}
}
package practice.character;
public class Character {
private String name;
private int hp;
private boolean alive;
public Character(String name) {
this.name = name;
hp = 100;
alive = true;
}
public void attack(int damage) {
if (!alive) {
System.out.println("이미 쓰러진 상태입니다.");
return;
}
hp = hp - damage;
if (hp <= 0) {
hp = 0;
alive = false;
System.out.println("쓰러졌습니다.");
}
}
public void heal(int amount) {
if (alive) {
hp = hp + amount;
if (hp >= 100) {
hp = 100;
}
} else {
System.out.println("쓰러진 상태에서는 회복할 수 없습니다.");
}
}
public void revive() {
if (!alive) {
alive = true;
hp = 50;
System.out.println("부활했습니다.");
} else {
System.out.println("이미 살아있는 상태입니다.");
}
}
public void showInfo() {
System.out.println("이름: " + name);
System.out.println("HP: " + hp);
if (alive) {
System.out.println("상태: 생존");
} else {
System.out.println("상태: 사망");
}
}
public static void main(String[] args) {
Character c = new Character("철수");
c.showInfo();
c.attack(30);
c.attack(80);
c.heal(20);
c.revive();
c.heal(10);
c.showInfo();
}
}
package practice.bank;
public class BankAccount {
private String owner;
private int balance;
private boolean locked;
public BankAccount(String owner) {
this.owner = owner;
balance = 0;
locked = false;
}
public void deposit(int amount) {
if (!locked) {
balance = balance + amount;
} else {
System.out.println("계좌가 잠겨있습니다.");
}
}
public void withdraw(int amount) {
if (locked) {
System.out.println("계좌가 잠겨있습니다.");
return;
}
if (balance <= amount) {
System.out.println("계좌 잔액이 부족합니다.");
return;
}
balance = balance - amount;
}
public void lockAccount() {
if (!locked) {
locked = true;
System.out.println("계좌가 잠겼습니다.");
} else {
System.out.println("이미 잠겨있는 계좌입니다.");
}
}
public void unlockAccount() {
if (locked) {
locked = false;
System.out.println("계좌가 열렸습니다.");
} else {
System.out.println("이미 열린 계좌입니다.");
}
}
public void showInfo() {
System.out.println("예금주: " + owner);
System.out.println("잔액: " + balance);
if (locked) {
System.out.println("상태: 잠김");
} else {
System.out.println("상태: 정상");
}
}
public static void main(String[] args) {
BankAccount acc = new BankAccount("철수");
acc.deposit(5000);
acc.withdraw(2000);
acc.lockAccount();
acc.deposit(1000);
acc.unlockAccount();
acc.withdraw(1000);
acc.showInfo();
}
}
아직은 많이 틀리고 헷갈려서 이정도 수준의 문제를 더 연습해서 내 걸로 만들어봐야겠다!