반응형
- C0606중첩반복입력
- C0606개념01뒤로가기
package C0606중첩반복입력;
import java.util.Scanner;
/*
# 뒤로가기
쇼핑몰 메인 메뉴에서 남성의류를 선택 후,
뒤로가기 버튼을 누르기 전까지 남성의류 페이지를 유지하려 한다.
1. 남성의류
1) 티셔츠
2) 바지
3) 뒤로가기
2. 여성의류
1) 가디건
2) 치마
3) 뒤로가기
3. 종료
*/
public class C0606개념01뒤로가기 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
boolean run = true;
while(run) {
System.out.println("1.남성의류");
System.out.println("2.여성의류");
System.out.println("0.종료");
System.out.print("메뉴 선택 : ");
int select = scan.nextInt();
if(select == 1) {
boolean run2 = true;
while(run2) {
System.out.println("1)티셔츠");
System.out.println("2)바지");
System.out.println("0)뒤로가기");
System.out.print("메뉴 선택 : ");
int select2 = scan.nextInt();
if(select2 == 1) {
System.out.println("티셔츠");
}else if(select2 == 2) {
System.out.println("바지");
}else if(select2 == 0) {
System.out.println("뒤로가기");
run2 = false;
}
}
}else if(select == 2) {
System.out.println("1)가디선");
System.out.println("2)치마");
System.out.println("0)뒤로가기");
/*
여성의류도 남성의류와 마찬가지로
뒤로가기를 구현해시오.
*/
}else if(select == 0) {
System.out.println("프로그램 종료");
run = false;
}
}
scan.close();
}
}
- C0606중첩반복입력_개념연습
- C0606개념연습01
package C0606중첩반복입력_개념연습;
import java.util.Scanner;
/*
[문제]
1. 로그인
- 로그인 후, 재 로그인 불가함
- 로그아웃 상태에서만 이용 가능
2. 로그아웃
- 로그인 후 이용가능
3. 로그인, 로그아웃 관리는 log변수를 이용한다.
예) -1(로그아웃), 1111(id1), 2222(id2)
*/
public class C0606개념연습01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int id1 = 1111;
int pw1 = 1234;
int id2 = 2222;
int pw2 = 2345;
int log = -1; // -1(로그아웃), 1111(id1), 2222(id2)
boolean run = true;
while (run) {
System.out.println("-------------");
if(log == -1) {
System.out.println("[상태] 로그아웃");
} else if(log == 1111) {
System.out.println("[상태] 1111회원 로그인 중...");
} else if(log == 2222) {
System.out.println("[상태] 2222회원 로그인 중...");
}
System.out.println("1.로그인");
System.out.println("2.로그아웃");
System.out.println("0.종료");
System.out.print("메뉴 선택 : ");
int sel = scan.nextInt();
if (sel == 1) {
// 로그아웃 상태에서만 로그인 메뉴를 이용할 수 있다.
if(log == -1) {
System.out.print("아이디를 입력하세요 : ");
int myId = scan.nextInt();
System.out.print("비밀번호를 입력하세요 : ");
int myPw = scan.nextInt();
if(id1 == myId && pw1 == myPw) {
log = 1111;
} else if(id2 == myId && pw2 == myPw) {
log = 2222;
} else {
System.out.println("[메세지]아이디와 비밀번호를 확인해주세요.");
}
} else {
System.out.println("[메세지]이미 로그인 중입니다.");
}
} else if (sel == 2) {
if(log == -1) {
System.out.println("[메세지]로그인 후 이용가능합니다.");
} else {
log = -1;
System.out.println("[메세지]로그아웃 되었습니다.");
}
} else if (sel == 0) {
run = false;
// 로그아웃
log = -1;
System.out.println("[메세지]프로그램 종료");
}
}
scan.close();
}
}
- C0606개념연습02
package C0606중첩반복입력_개념연습;
import java.util.Scanner;
/*
[문제]
1.
[뒤로가기]를 활용해 단계별로 기능을 구현한다.
[회원가입]은 추후 배열에서 가능하다.
2.
메인화면 기능 : [1.로그인 0.종료]
1번 로그인 선택 : [1.입금 2.출금 3.이체 4.조회 5.정보수정 0.로그아웃]
2번 종료 선택 : [종료]
3. 추가기능
1) 5. 정보수정 선택 : 비밀번호를 바꿀 수 있다.
2) 0. 로그아웃 선택 : 뒤로 돌아가서 [1.로그인 0.종료] 화면이 다시 나온다.
3) 로그인 3번 실패시 강제 종료한다.
*/
public class C0606개념연습02 {
public static void main(String[] args) {
/*
[풀이]
1. 메뉴 출력
[1.로그인 0.종료]
2. 메뉴 선택
3. 1번 메뉴 선택
1. 로그인을 위한 계좌번호와 비밀번호 입력받기
2. 로그인에 성공
(1) 입력받은 정보 == 1번 회원
log = 1111
(2) 입력받은 정보 == 2번 회원
log = 2222
(3) 메뉴 출력
[1.입금 2.출금 3.이체 4.조회 5.정보수정 0.로그아웃]
메뉴 입력받기
1) 입금
입금할 금액 입력받기
log == 1번 회원 :1번 회원계좌잔액 증가
log == 2번 회원 :2번 회원계좌잔액 증가
2) 출금
출금할 금액 입력받기
log == 1번 회원 :1번 회원계좌잔액 감소
log == 2번 회원 :2번 회원계좌잔액 감소
3) 이체
이체할 계좌번호 입력받기
log == 1번 회원
계좌번호 일치
입력받은 계좌번호 == 2번 회원
이체할 금액 입력받기
입력받은 금액 <= 1번회원의 계좌잔액
1번회원의 계좌잔액 -= 입력받은 금액
2번회원의 계좌잔액 += 입력받은 금액
입력받은 금액 > 1번회원의 계좌잔액
[메세지] 계좌잔액을 확인해주세요.
계좌번호 불일치
[메세지] 계좌번호를 확인해주세요.
log == 2번 회원
계좌번호 일치
입력받은 계좌번호 == 1번 회원
이체할 금액 입력받기
입력받은 금액 <= 2번회원의 계좌잔액
2번회원의 계좌잔액 -= 입력받은 금액
1번회원의 계좌잔액 += 입력받은 금액
입력받은 금액 > 2번회원의 계좌잔액
[메세지] 계좌잔액을 확인해주세요.
계좌번호 불일치
[메세지] 계좌번호를 확인해주세요.
4) 조회
5) 정보수정
0) 로그아웃
log = -1
4. 로그인에 실패
[메세지]계좌번호와 비밀번호를 확인해주세요.
4. 0번 메뉴 선택
[메세지]프로그램을 종료합니다.
*/
Scanner scan = new Scanner(System.in);
int dbAcc1 = 1111;
int dbPw1 = 1234;
int dbMoney1 = 50000;
int dbAcc2 = 2222;
int dbPw2 = 2345;
int dbMoney2 = 70000;
int log = -1; // -1(로그아웃), 1111(dbAcc1로그인), 2222(dbAcc2로그인)
int failCount = 0; // 로그인 실패 횟수
while(true) {
if(failCount == 3) {
System.out.println("[메세지]로그인 3회 실패");
break;
}
System.out.println("[1.로그인][0.종료]");
int sel = scan.nextInt();
if(sel == 1) {
System.out.print("[로그인]계좌번호 입력 : ");
int inputAcc = scan.nextInt();
System.out.print("[로그인]비밀번호 입력 : ");
int inputPw = scan.nextInt();
if(inputAcc == dbAcc1 && inputPw == dbPw1) {
log = 1111;
} else if(inputAcc == dbAcc2 && inputPw == dbPw2) {
log = 2222;
} else {
System.out.println("[메세지]계좌번호와 비밀번호를 확인해주세요.");
failCount += 1;
}
if(log != -1) {
boolean run2 = true;
while(run2) {
System.out.println("[1.입금 2.출금 3.이체 4.조회 5.정보수정 0.로그아웃]");
int choice = scan.nextInt();
if(choice == 1) {
System.out.println("=== [입금] ===");
System.out.print("금액 입력 : ");
int inputMoney = scan.nextInt();
if(inputAcc == dbAcc1) {
dbMoney1 += inputMoney;
} else if(inputAcc == dbAcc2) {
dbMoney2 += inputMoney;
}
System.out.println("[메세지]입금을 완료하였습니다.");
} else if(choice == 2) {
System.out.println("=== [출금] ===");
System.out.print("금액 입력 : ");
int inputMoney = scan.nextInt();
if(inputAcc == dbAcc1) {
if(inputMoney <= dbMoney1) {
dbMoney1 -= inputMoney;
System.out.println("[메세지]출금을 완료하였습니다.");
} else {
System.out.println("[메세지]계좌잔액을 확인해주세요.");
}
} else if(inputAcc == dbAcc2) {
if(inputMoney <= dbMoney2) {
dbMoney2 -= inputMoney;
System.out.println("[메세지]출금을 완료하였습니다.");
} else {
System.out.println("[메세지]계좌잔액을 확인해주세요.");
}
}
} else if(choice == 3) {
System.out.println("=== [이체] ===");
System.out.print("계좌번호 입력 : ");
inputAcc = scan.nextInt();
if(log == dbAcc1 && inputAcc == dbAcc2) {
System.out.print("금액 입력 : ");
int inputMoney = scan.nextInt();
if(inputMoney <= dbAcc1) {
dbMoney1 -= inputMoney;
dbMoney2 += inputMoney;
System.out.println("[메세지]이체를 완료하였습니다.");
} else {
System.out.println("[메세지]계좌잔액을 확인해주세요.");
}
} else if(log == dbAcc2 && inputAcc == dbAcc1) {
System.out.print("금액 입력 : ");
int inputMoney = scan.nextInt();
if(inputMoney <= dbAcc2) {
dbMoney2 -= inputMoney;
dbMoney1 += inputMoney;
System.out.println("[메세지]이체를 완료하였습니다.");
} else {
System.out.println("[메세지]계좌잔액을 확인해주세요.");
}
} else {
System.out.println("[메세지]계좌번호를 확인해주세요.");
}
} else if(choice == 4) {
if(log == 1111) {
System.out.println("현재 계좌의 잔액은 " + dbMoney1 + "원 입니다.");
} else if(log == 2222) {
System.out.println("현재 계좌의 잔액은 " + dbMoney2 + "원 입니다.");
}
} else if(choice == 5) {
System.out.println("=== [정보 수정] ===");
System.out.print("변경할 비밀번호 입력 : ");
inputPw = scan.nextInt();
if(log == dbAcc1) {
dbPw1 = inputPw;
} else if(log == dbAcc2) {
dbPw2 = inputPw;
}
System.out.println("[메세지]비밀번호가 변경되었습니다.");
} else if(choice == 0) {
log = -1;
System.out.println("[메세지]로그아웃 되었습니다.");
run2 = false;
}
}
}
}else if(sel == 0) {
System.out.println("[메세지]프로그램을 종료합니다.");
break;
}
}
scan.close();
}
}
- C0606개념연습03
package C0606중첩반복입력_개념연습;
import java.util.Scanner;
/*
[문제]
플레이어는 무기, 방어구, 체력, 돈, 운 등의 데이터가 있다.(추가 가능)
플레이어와 적은 1명으로하고 1명 이상은 추후 배열에서 가능하다.
1. 메인 메뉴
- [1.여관] [2.대장간] [3.던전] [0.종료]
2. [1.여관]
- 여관은 소지금을 소모해 체력과 스킬회복 또는 아이템을 구입한다.
- [1.숙박(체력,스킬회복)] [2.물약구입] [0.뒤로가기]
3. [2.대장간]
- 대장간은 소지금을 소모해 랜덤으로 무기와 방어구 업그레이드 시켜준다.
- [1.무기업] [2.방어구입] [0.뒤로가기]
4. [3.던전]
- 던전은 몬스터를 만나 전투를 한다.
- [1.공격] [2.스킬] [3.물약먹기] [0.뒤로가기]
- 스킬은 2번 공격을 한다.
- 물약을 먹으면 체력이 회복된다.
- 승리하면 돈을 획득한다.
* [주의] 반드시 뒤로가기기를 이용해서 푸시오.
*/
public class C0606개념연습03 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
boolean run = true;
while(run) {
System.out.println("[드래곤 던전 게임]");
System.out.println("[1.여관] [2.대장간] [3.던전] [0.종료]");
int sel = scan.nextInt();
if(sel == 1) {
boolean run2 = true;
while(run2) {
System.out.println("[드래곤 여관입니다]");
System.out.println("[1.숙박(체력,스킬회복)][2.물약구입][0.뒤로가기]");
int sel2 = scan.nextInt();
if(sel2 == 1) {
}else if(sel2 == 2) {
}else if(sel2 == 0) {
System.out.println("[뒤로가기]");
run2 = false;
}else {
System.out.println("오류");
}
}
} else if(sel == 2) {
boolean run2 = true;
while(run2) {
System.out.println("[드래곤 대장관 입니다]");
System.out.println("[1.무기업][2.방어구업][0.뒤로가기]");
int sel2 = scan.nextInt();
if(sel2 == 1) {
}else if(sel2 == 2) {
}else if(sel2 == 0) {
System.out.println("[뒤로가기]");
run2 = false;
}else {
System.out.println("오류");
}
}
} else if(sel == 3) {
boolean run2 = true;
while(run2) {
System.out.println("[드래곤 던전 입니다]");
System.out.println("[몬스터 설정]");
System.out.println("[1.공격][2.스킬][3.물약먹기][0.뒤로가기]");
int sel2 = scan.nextInt();
if(sel2 == 1) {
}else if(sel2 == 2) {
}else if(sel2 == 3) {
}else if(sel2 == 0) {
System.out.println("[뒤로가기]");
run2 = false;
}else {
System.out.println("오류");
}
}
} else if(sel == 0) {
System.out.println("[종료]");
run = false;
} else {
System.out.println("오류");
}
}
scan.close();
}
}반응형
'코딩 > 2-JAVA' 카테고리의 다른 글
| C0703규칙찾기 ~ C0704셀프완전탐색입력 (0) | 2025.06.24 |
|---|---|
| C0701검색 ~ C0702중복금지 (0) | 2025.06.24 |
| C06중첩반복 => C0601중첩반복 ~ C0605소수여러개 (0) | 2025.06.23 |
| C05배열과데이터 (0) | 2025.06.23 |
| C0404규칙찾기, C0405규칙찾기입력, C0405행렬 (0) | 2025.06.23 |