반응형
코딩 숙제 (Chapter 6.8 - 클래스)
- 각 기능마다 method를 분리하여 프로그램 만들기 최소 2개
▶메소드 분리 1
package may.four;
public class HWMain_2 {
public static void main(String[] args) {
HW_2 app = new HW_2();
app.init();
}
}
package may.four;
import java.util.Scanner;
public class HW_1 {
private Scanner scanner = new Scanner(System.in);
private int money = 10000;
private boolean run = true;
public void init() {
while(run) {
menu();
}
}
private void menu() {
System.out.println("**상점**");
System.out.println("1. 구매");
System.out.println("2. 종료");
System.out.println("*******");
String input = scanner.next();
switch (input) {
case "1":
buy();
break;
case "2":
quit();
break;
default:
System.out.println("잘못 눌렀습니다.");
}
}
private void buy() {
System.out.println("구매***********");
System.out.println("1. 소드: 3000원");
System.out.println("2. 활: 2500원");
System.out.println("3. 방패: 3500원");
System.out.println("**************");
String input = scanner.next();
switch (input) {
case "1":
checkMoney("소드", 3000);
break;
case "2":
checkMoney("활", 2500);
break;
case "3":
checkMoney("방패", 3500);
break;
default:
System.out.println("잘못 눌렀습니다. 메뉴로 돌아갑니다.");
}
}
// 소지금관리 메소드
/**
*
* @param item 아이템이름
* @param m 아이템 가격
*/
private void checkMoney(String item, int m) {
System.out.println("소지금: " + money);
System.out.println("아이템: " + item + "/아이템 가격: " + m);
if (money <= 0 || money < m) {
System.out.println("소지금이 부족합니다.");
} else {
System.out.println(item + "을 구매합니다.");
money = money - m;
System.out.println("현재 소지금: " + money);
}
}
private void quit() {
run = false;
System.out.println("시스템을 종료합니다.");
}
}
▶메소드 분리 2
package may.four;
public class HWMain_2 {
public static void main(String[] args) {
HW_2 app = new HW_2();
app.init();
}
}
package may.four;
public class HWDomain_2 {
private String name;
private String age;
private String tel;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
@Override
public String toString() {
return "학생회{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
", tel='" + tel + '\'' +
'}';
}
}
package may.four;
import java.lang.reflect.Member;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class HW_2 {
private boolean run = true;
private Scanner scanner = new Scanner(System.in);
private List<HWDomain_2> members = new ArrayList<>();
public void init() {
while(run) {
menu();
}
}
private void menu() {
System.out.println("**학생회 등록**");
System.out.println("1. 등록");
System.out.println("2. 목록");
System.out.println("3. 종료");
System.out.println("*************");
String input = scanner.next();
switch (input) {
case "1":
apply();
break;
case "2":
findAll();
break;
case "3":
quit();
break;
}
}
private void quit() {
run = false;
System.out.println("시스템을 종료합니다.");
}
private void findAll() {
members.forEach(r -> System.out.println(r));
}
private void apply() {
HWDomain_2 member = new HWDomain_2();
System.out.println("등록****");
System.out.println("이름: ");
member.setName(scanner.next());
System.out.println("나이: ");
member.setAge(scanner.next());
System.out.println("전화번호: ");
member.setTel(scanner.next());
members.add(member);
}
}
반응형
'Study > JAVA' 카테고리의 다른 글
[20210530] JAVA 스터디 (0) | 2021.05.30 |
---|---|
[20210530] 자바 기초 코딩 실습 (0) | 2021.05.30 |
[20210522] 자바 기초 코딩 실습 (0) | 2021.05.22 |
[20210521] Java 스터디 (0) | 2021.05.21 |
[20210516] JAVA 스터디 (0) | 2021.05.16 |
댓글