본문 바로가기

JAVA

[Java] 클래스를 이용한 간단한 성적관리 프로그램 1. 문제 객체 배열을 사용하여 n명 학생의 성적을 국어, 수학, 영어에 대해 받아서 성적을 처리하는 프로그램을작성하시오. 사용자에게 이름, 국어, 수학, 영어를 입력받아서 처리하시오. 2. 코드 import java.util.Scanner; class Student{ String name; int math; int english; int korean; public Student(String name,int math,int english,int korean){ this.name = name; this.math=math; this.english=english; this.korean=korean; } public double SumOfGrade(){ return math+korean+english; } pu.. 더보기
[Java] 간단한 369게임 코드 (3,6,9가 있을 때마다 박수) 1. 문제 369게임의 일부를 작성해보자. 1~99까지의 정수를 입력받고 수에 3, 6, 9 중 하나가 있는 경우는 “박수짝”, 두 개 있는 경우는 “박수짝짝”, 하나도 없으면 “박수없음”을 출력하는 프로그램을 출력하는 프로그램을 작성하라. 예를 들면, 13인 경우 “박수짝”, 36인 경우 “박수짝짝”, 5인 경우 “박수없음”을 출력하면 된다. 2. 코드 import java.util.Scanner; public class Game369test { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.print("1~99사이의 정수를 입력하시오 >>"); int num = scanner.nex.. 더보기
[Java] 정규식 regex 이해 + 활용하기 (파일 추출, 비밀번호, 전화번호) 0. 소개 regex은 regular Expression의 약어이다. 일명 정규식이라고 불린다. 정규식은 텍스트의 패턴을 추출하는 단어들의 조합이다. ex) e+, ea?, \. , \d{10} 등으로 각각의 의미를 가지고 있다. 특정 패턴을 가진 집합의 단어들을(String)을 찾거나, 바꿀려고 할 때 주로 사용된다. 1. 기본 정규식 단위 . 모든 문자 \d 숫자 [0-9] \w 단어 문자 [a-zA-Z_0-9] \t 탭 문자 (탭키) \n 줄바꿈 문자 ('\u000a') [문자]? ?앞에 있는 토큰이 포함될 수도 안될 수도 있음 [문자]+ [문자]가 1개이상인 단어들 추출 \. . 추출 \s 공백 ^ 위치를 줄의 첫 부분에 위치시킨다. $ 위치를 줄의 끝 부분에 위치시킨다. 2. 예시 2-1 \w{.. 더보기
[Java] DB 내 정보 변경, 탈퇴 /관리자 모드 아이디 삭제 0. 소개 이전 글에서는 로그인과 회원정보를 이용해, 회원정보를 만들어 로그인을 사용했었다. 주로 사용한 SQL문은 SELECT와 INSERT문이였으며, 이번에는 DELETE, UPDATE로 데이터 값 변경을 시도한다. 이 전 글을 보고싶다면 아래에 링크를 남기겠다. 2022.05.02 - [JAVA] - [Java] DB 회원가입, 로그인 시스템 만들기 1. 기능 로그인 완료시 내 정보 화면으로 이동하며, 내 정보에서 데이터 값을 변경할 수 있다. 관리자모드에서는 모든 회원 아이디들을 불러오며, 관리자를 제외한 모든 아이디를 삭제할 수 있다. 2. 주요 메소드 -로그인 관리- 로그인 완료 시에 그 시점의 id값을 가져와야 하므로 setid(String id)를 이용하여, 값을 넘겨준다. 그리고 내 정보.. 더보기
[Java] DB 회원가입, 로그인 시스템 만들기 0. 소개 이 글은 MYSQL와 JDBC연결로 Database을 이용해 구현하였다. DB와 Eclipse관련 연결 방법은 이전 포스팅 링크를 남기겠다. 2022.04.16 - [JAVA] - [Java] 이클립스와 Mysql 8.0 연동하기 (JDBC 연결) 1. 기능 처음 시작은 로그인 화면으로 시작한다. 로그인 화면에서는 회원가입, 로그인 버튼으로 각 ui로 이동할 수 있다. ui가 바뀌는 것은 CardLayout을 이용해 만들었다. (이 링크는 CardLayout의 기능을 소개한다.) 2022.04.20 - [JAVA] - [JAVA] CardLayout 패널 화면 쉽게 바꾸기 회원가입 ui에서는 입력된 정보를 바탕으로 DB에 회원 정보를 저장하게 하고, 완료되면 로그인 화면으로 이동 로그인 화면에.. 더보기
[Java] Mysql Jdbc 연결 오류 해결 방법 0. 소개 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure이 나온 경우를 설명한다. or Can't connect to MySQL server on localhost'3306' (10061) 인 경우. 아래 오류가 발생했을 때 해결 방법을 소개한다. 1. 해결방법 1번 1. MySQL 8.0 Command Line Client을 실행시키고 비밀번호를 입력하여 로그인한다. 필자는 비밀번호를 치니 로그인 성공이 되지 않고 강제 종료가 됐다. 그래서 Window 명령 프롬포트로 진입해봤다. Can't connect to MySQL server on localhost'3306' (10061)이라며 오류가 났다. 1.. 더보기
[JAVA] 오셀로 게임 만들기 기능 구현(2) 0. 소개 지난번 글에서는 오셀로 UI 혹은 체스판 UI를 만들었다. 혹시나 설명이 필요하다면 링크를 참조하길 바란다. 2022.04.25 - [JAVA] - [Java] 오셀로, 체스 게임 UI 만들기 지난번 글에서는 UI를 만들었으니 이제 UI를 이용해서 기능을 추가해 보겠다. 1. 기능 버튼 - Game ReStart, Game End, Game GiveUp, Skip turn 총 4가지가 있다. Game ReStart = 게임 재시작, Game End = 눌린 기점으로 돌이 많은 쪽이 승리 Game GiveUp = 게임 기권. Skip turn = 더는 둘 곳이 없을 때 턴을 넘김 돌 설정 - 돌은 그림판에 그려서 이미지 파일로 만들어서 사용했다. 아래 코드를 그냥 쓰면 이미지가 안 나올 것이므로.. 더보기
[Java] 오셀로, 체스 게임 UI 만들기 0. 소개 이 포스터에서는 Java Eclipse의 Swing Component를 이용하여 UI를 만들 예정이다. 오셀로와 체스는 둘다 판이 8 * 8이므로 UI는 둘 다 공용으로 사용할 수 있다. 1. 원리 큰 하나의 패널(JPanel)안에 두 개의 요소를 더할 것이다. 하나는 게임을 조작하는 JToolbar, 나머지 하나는 Board로 체스판 혹은 오셀로판을 안에 넣을 것이다. JToolbar에서는 게임 조작요소 버튼들과, 스코어를 담당한다. 체스판으로 만들경우 적절히 조절해서 컴포넌트를 조정해서 쓰기를 바란다. Board에서는 GridLayout를 이용해 64개의 칸으로 나누고 각 칸을 JPanel의 배열로 각 칸에 넣어주고, 각 JPanel에는 ImageIcon을 통해 체스판 말이나, 오셀로 돌을.. 더보기