본문 바로가기

언어/Java

(8)
[JAVA] 간단한 캐비닛 Swing프로그램 1. 구상 하나의 java 파일에 모든 코드를 넣었다. 원래는 여러 개의 class파일을 나눠서 값을 전달하고 전달받고 이런식으로 만들어보려고 했다. 하지만 값을 받는 도중에 오류가 발생해서 하나의 java파일에 코드를 작성했다.(제한된 기한 문제) 다음에는 여러 개의 class로 나누고 값을 받는 방법을 찾아서 다시 게시할 예정이다. 또한, (private, public, protected, 디폴트)class들의 설명도 따로 게시할 예정이다. 2. 코드 설명 1) 라이브러리, 변수 설명 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import j..
[JAVA] 간단한 캐비닛 콘솔프로그램(6) - AI_Student_Info 회원정보 저장 1. 회원 정보 저장(AI_Student_Info )부분 1) 회원들의 id,pw를 저장하고 캐비닛을 선택했을 때의 row,col을 저장하는 코드이다. AI_Student_Info 이름을 쓰지 않고 다른 이름으로 바꿔서 사용하면 된다. 1) 회원가입했을 때, 회원 정보를 저장 public AI_Student_Info(String id, String pw){ this.id = id; this.pw = pw; } 2) 로그인 한 회원들의 캐비닛 자리를 저장할 때 public void setSeat(int row, int col) { this.seatRow = row; this.seatCol = col; } 3) 회원 정보를 볼 때 public String getId(){ return id;} public S..
[JAVA] 간단한 캐비닛 콘솔프로그램(5) - showSeat_modify 1. 회원정보 보기 및 회원정보 수정(showSeat_modify)부분 이 콘솔프로그램을 이용하는 회원들의 정보를 관리하기 위해서 매니저가 필요하다. 그래서 이 부분을 만들었다. 1) 이 정보들을 보거나 수정하기 위해 manager의 비밀번호가 일치하는지 판단하도록 했다. 매니저 이외의 사람들이 마음대로 회원 정보를 보거나 수정할 수 없도록 하기 위해서다. 1.1) 회원정보를 보고 싶은 경우와 회원 정보를 수정하기 위해서 case 1,2로 나눴다. case 1 회원 정보와 자리를 볼 수 있다. 회원가입만하고 로그인을 하지 않는 회원들은 자리가 row=0, col =0으로 뜨게 했다. (아직 자리를 선택하지 않았으므로) case 2회원 정보를 수정할 수 있다. 첫 번째 회원의 아이디를 수정할 경우, 두 번..
[JAVA] 간단한 캐비닛 콘솔프로그램(4) - Seat_Assign 1. 캐비닛 자리배정(Seat_Assign)부분 1) 로그인, 로그아웃을 할 때, Seat_Assign.arr을 쓴다. 앞에서 로그인을 할 때, 캐비닛이 비어있는 row, col을 선택하면 그 때의 Seat_Assign.arr를 1로 만들어서 자리를 배정되어 있다는 코드를 만들었다. 또한, 로그아웃을 할 때, Seat_Assign.arr를 0으로 만들어서 자리가 비어있다는 코드를 만들었다. static int[][] arr = new int[4][4]; 2) 앞에서 로그인을 할 때, 로그아웃을 할 때, 이 코드에서 4x4형태로 자리가 배정되어 있는지 없는지 확인할 수 있다. 자리가 배정되어 있음 - > x 자리가 비어있음 - > o (행,열로 한 이유는 딱히 없다, 1번부터 16번 캐비닛을 4x4형태로도..
[JAVA] 간단한 캐비닛 콘솔프로그램(3) - Log_Out 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 < S..
[JAVA] 간단한 캐비닛 콘솔프로그램(2) - Log_in 1. 로그인(Log_In)부분 1) ID,PW가 저장된 정보와 일치하는지 판단하고, 그때의 i를 log_in_overlap에 저장한다. id_pw_equal = true;는 회원 정보가 있으면 true로 저장하고 로그인을 할 수 있게 한다. // ID, PW 가 일치하는지 판단 for (int i = 0; i < Seat_Assign.idx; i++) { if (Student_insert.AI_Students[i].getId().equals(Id) && Student_insert.AI_Students[i].getPw().equals(PassWord)) { id_pw_equal = true; log_in_overlap =i; break; } } 2) 만약 회원가입을 안하고 바로 로그인을 하면 "일치하는 아..
[JAVA] 간단한 캐비닛 콘솔프로그램(1) - Student_insert 1. 회원가입(student_insert)부분 구상한 것 1) 아이디 중복 방지 만약 중복된 아이디가 없을 경우 가입된다. 이때, idx가 중요하다. static AI_Student_Info[] AI_Students = new AI_Student_Info[100]; 에서 AI_Student를 최대 가입 가능한 인원을 100명으로 정했고, idx로 첫 번째부터 회원 정보를 저장하도록 만든다. 뒤에서 Seat_Assign과 AI_Student_Info를 따로 소개하겠다. boolean isDuplicate = false; for (int i = 0; i < Seat_Assign.idx; i++) { if (Student_insert.AI_Students[i].getId().equals(ID)) { isDup..
[JAVA] 간단한 캐비닛 콘솔프로그램(0) - Cabinet main화면 1. 메인화면(main)부분 - 원래는 2가지 경우를 생각했다. case 1 캐비닛 이용을 원하는 사람이 신청서를 작성하고 사무실 직원이 정보를 프로그램에 등록하고 사용한다. (직원이 회원정보를 입력하고 사용자가 캐비닛을 이용) case 2 캐비닛이 있는 곳에 키오스크를 두고 사용을 원하는 사람들이 ID,PW를 입력하고 사용한다. (이렇게 되면 회원가입을 키오스크에서 해야함) (대학교에는 학생들의 개인정보가 저장되어있다.) -->를 생각해서 코딩을 하려고 했다. 결국에는 키오스크에 회원가입을 할 수 있게 만들었다. 전체코드 2. main화면 import java.util.Scanner; public class Cabinet { public static void main(String[] args) { Sc..