1. 캐비닛 로그아웃(Log_Out)부분
1)
log_out_index = -1로 한 이유는 컴퓨터는 0부터 숫자를 세기 떄문에 -1로 했다.
int log_out_index = -1;
boolean sure_log_out = false;
Scanner sc = new Scanner(System.in);
System.out.println("아이디를 입력해주세요.");
String id = sc.next();
2)
로그인을 한 회원의 아이디가 있으면 그 때의 i를 log_out_index에 저장한다.
또한 sure_log_out을 true로 바꾼다. 로그아웃을 하기 위해서 아래에 있는 조건문을 만족하도록 만들어야 하기 때문이다.
//id가 일치하면 그 index 저장
for (int i = 0; i < Seat_Assign.idx; i++) {
if (Student_insert.AI_Students[i].getId().equals(id)){
log_out_index = i;
sure_log_out = true;
}
}
3)
회원가입을 하지 않는 상태에서 로그아웃을 하면 "일치하는 이아디가 없습니다."라는 문구가 뜬다.
// 일치한 아이디가 없으면 이 문구가 뜸
if (log_out_index == -1) {
System.out.println("일치하는 아이디가 없습니다.");
return;
}
4)
회원가입은 했지만 로그인을 하지 않으면 "베정된 캐비닛이 없습니다"라는 문구가 뜬다. (캐비닛을 선택하지 않았다.)
로그인을 하지 않으면 등록학생 보기를 입력했을 때, row, col이 0,0으로 뜬다.
(등록학생 보기 코드는 다음 게시물에 올리겠다.)
//회원가입은 되어있지만 캐비닛을 선택을 하지 않는 상태면 이 문구가 뜸
if (Student_insert.AI_Students[log_out_index].getSeat_ROW()==0 &&Student_insert.AI_Students[log_out_index].getSeat_COL()==0){
System.out.println("배정된 캐비닛이 없습니다.");
return;
}
5)
sure_log_out이 true이면 아래의 조건문을 만족하므로 다음 코드가 실행된다.
원래는 주석처리 되어있는 코드부분에서 로그인을 안 한 상태에서 로그아웃을 하게 되었을 경우를 처리하기 위해서 만들었다. 하지만 프로그램이 위에서 코드를 처리하므로 회원가입이나 로그인을 하지 않는 상태를 거르기 때문에 주석처리를 했다.
로그아웃을 하면 로그인 했던 회원의 row,col을 0으로 만들고 콘솔프로그램에서 보이는 캐비닛 자리가 x에서 o로 바뀐다.
다시 로그인 했을 때, 캐비닛 선택 가능
//캐비닛 반납
if (sure_log_out){
System.out.println("현재 사용 중인 캐비닛을 반납 하시겠습니까? Y/N");
String answer = sc.next();
if(answer.equals("y") || answer.equals("Y")){
Seat_Assign.row = Student_insert.AI_Students[log_out_index].getSeat_ROW();
Seat_Assign.col = Student_insert.AI_Students[log_out_index].getSeat_COL();
/*if(Seat_Assign.arr[Seat_Assign.row-1][Seat_Assign.col-1]==0) {
System.out.println("반납할 캐비닛이 없습니다.");
}*/
if (Seat_Assign.arr[Seat_Assign.row - 1][Seat_Assign.col - 1] == 1) {
System.out.printf(">>[%d행] [%d열]이 반납 되었습니다.\n\n", Student_insert.AI_Students[log_out_index].getSeat_ROW(), Student_insert.AI_Students[log_out_index].getSeat_COL());
Seat_Assign.arr[Seat_Assign.row - 1][Seat_Assign.col - 1] = 0;
Seat_Assign.row=0; Seat_Assign.col=0;
Student_insert.AI_Students[log_out_index].setSeat(Seat_Assign.row,Seat_Assign.col);
}
Seat_Assign.seat();
System.out.println("반납 되었습니다. 감사합니다.");
}else {
System.out.println("다시 입력해주세요.");
}
}else System.out.println("일치하는 정보가 없습니다.");
전체코드
2.로그아웃
import java.util.Scanner;
public class Log_Out {
public static void main(String[] args) {
int log_out_index = -1;
boolean sure_log_out = false;
Scanner sc = new Scanner(System.in);
System.out.println("아이디를 입력해주세요.");
String id = sc.next();
//id가 일치하면 그 index 저장
for (int i = 0; i < Seat_Assign.idx; i++) {
if (Student_insert.AI_Students[i].getId().equals(id)){
log_out_index = i;
sure_log_out = true;
}
}
// 일치한 아이디가 없으면 이 문구가 뜸
if (log_out_index == -1) {
System.out.println("일치하는 아이디가 없습니다.");
return;
}
//회원가입은 되어있지만 캐비닛을 선택을 하지 않는 상태면 이 문구가 뜸
if (Student_insert.AI_Students[log_out_index].getSeat_ROW()==0 &&Student_insert.AI_Students[log_out_index].getSeat_COL()==0){
System.out.println("배정된 캐비닛이 없습니다.");
return;
}
//캐비닛 반납
if (sure_log_out){
System.out.println("현재 사용 중인 캐비닛을 반납 하시겠습니까? Y/N");
String answer = sc.next();
if(answer.equals("y") || answer.equals("Y")){
Seat_Assign.row = Student_insert.AI_Students[log_out_index].getSeat_ROW();
Seat_Assign.col = Student_insert.AI_Students[log_out_index].getSeat_COL();
/*if(Seat_Assign.arr[Seat_Assign.row-1][Seat_Assign.col-1]==0) {
System.out.println("반납할 캐비닛이 없습니다.");
}*/
if (Seat_Assign.arr[Seat_Assign.row - 1][Seat_Assign.col - 1] == 1) {
System.out.printf(">>[%d행] [%d열]이 반납 되었습니다.\n\n", Student_insert.AI_Students[log_out_index].getSeat_ROW(), Student_insert.AI_Students[log_out_index].getSeat_COL());
Seat_Assign.arr[Seat_Assign.row - 1][Seat_Assign.col - 1] = 0;
Seat_Assign.row=0; Seat_Assign.col=0;
Student_insert.AI_Students[log_out_index].setSeat(Seat_Assign.row,Seat_Assign.col);
}
Seat_Assign.seat();
System.out.println("반납 되었습니다. 감사합니다.");
}else {
System.out.println("다시 입력해주세요.");
}
}else System.out.println("일치하는 정보가 없습니다.");
}
}
'언어 > Java' 카테고리의 다른 글
[JAVA] 간단한 캐비닛 콘솔프로그램(5) - showSeat_modify (0) | 2023.07.04 |
---|---|
[JAVA] 간단한 캐비닛 콘솔프로그램(4) - Seat_Assign (0) | 2023.07.04 |
[JAVA] 간단한 캐비닛 콘솔프로그램(2) - Log_in (0) | 2023.07.04 |
[JAVA] 간단한 캐비닛 콘솔프로그램(1) - Student_insert (0) | 2023.07.04 |
[JAVA] 간단한 캐비닛 콘솔프로그램(0) - Cabinet main화면 (0) | 2023.07.04 |