이전에 했던 자판기 프로그램을 조금 발전시켜 배열을 사용하였다. 배열을 사용하면서 각 음료에 대한 재고를 최초 저장해놓고 사용자가 상품을 구매하면 재고가 줄어들며 재고가 없을 시 판매되지 않도록 문구를 출력하는 프로그램이다. public class Product { public String p_name = new String(); public int p_price; public int p_stock; public Product() { } public Product(String name, int price, int stock) { p_name = name; p_price = price; p_stock = stock; } } 프로그램 변수 선언 전 상품이라는 클래스를 하나 생성해줘서 객체 배열을 선언할 수 ..
JAVA언어를 사용한 미니 프로젝트를 하나 만들어보자라는 생각에 떠올린 프로그램은 자판기 프로그램이다. 내가 생각한 프로그램의 확장 과정은 다음과 같다. 1. 입출력을 이용한 간단한 상호작용 프로그램(print, scanner을 이용하여 문장 주고 받기(?)) 2. 배열 및 리스트를 이용하여 재고 개수를 고려한 판매가 이뤄지도록 변경 3. 관리자 접근 기능을 추가하여 재고를 추가할 수 있도록 기능 추가 4. 데이터베이스를 연동시켜 기록되도록 기능 추가(실 자판기가 아니므로 음료의 잔여 개수 등은 저장되어야 판단 가능) 위 과정을 순차적으로 해본 후 어쩌면 비슷할 수도 있고, 확장 기능이 더 많은 POS 시스템을 만들어보려고 한다. 먼저 처음 구성한 프로그램은 다음과 같다. 단일 클래스로 이루어져 있으며,..
교보문고를 갔더니 이전에 보지 못했던 히가시노게이고 신작이 있었다. 제목은 '희망의 끈' . 사실 다른 작가들의 책들은 끈질기게 끝까지 읽지 못하는 편인데 항상 히가시노 게이고 작가의 책은 순식간에 읽어버리는 것 같다. 희망의 끈은 크게 두가지 이야기가 동시에 진행된다. 한가지는 한 카페 '야오이 카페'의 주인인 하나즈카 야오이가 살해되어 그 범인을 찾는 이야기, 그리고 또 한가지의 이야기는 요시하라 아야코의 아버지가 죽기 전 남긴 공증 유언을 보고 몰라던 배다른 남매를 찾으러 나서는 이야기다. 이 두가지 이야기의 연관점은 공증 유언에 나와있는 배다른 남매가 야오이 살인 사건을 조사하는 마쓰미야 형사라는 점이다. 히가시노 게이고의 책을 읽으면 아무래도 등장인물들의 이름들이 일본 이름이다보니 머릿 속에 각..
마음이 그렇게 느끼는 것일지는 모르겠지만 C언어를 배우다 자바를 배울 때보다 파이썬을 새로 배울 때의 문법 변화를 더 크게 느낀 것 같다. 아무래도 파이썬은 세미콜론의 활용보다는 콜론과 들여쓰기의 활용을 하다보니 그런 것 같다. 그러한 변화는 반복문에서도 느꼈다. 파이썬도 여느 다른 언어와 같이 for문과 while문을 사용할 수 있다. 그렇게 어렵지 않으며 어쩌면 자바보다 쉽게 느낄 수도 있다. 1. while문 루핑 매커니즘을 작성하기에 좋은 반복문이다. 다음의 구문을 보자 >>> i = 1 >>> while i < 5: ... print(i) ... i += 1 위 구문은 변수 i를 선언하고 반복문을 돌려 1부터 4까지를 출력하는 구문이다. 풀어서 설명하면 i에는 1이 대입되어 있다. 그러한 i가 ..
프로그래밍을 다시 공부하는 중 다양한 문자열 포매팅 방식이 생겨났다는 것(있었는데 몰랐을지도...)을 알 수 있었다. 3가지 포매팅 방식이 있고, 내가 공부하는 교재에서는 이를 옛 스타일, 새 스타일, 최신 스타일로 구분하고 있다. 책의 저자는 파이썬2까지는 옛 스타일(2.3에서 지원), 파이썬 3을 사용한다면 새 스타일의 포매팅(2.6 이상에서만 지원)을, 파이썬 3.6 이상을 사용한다면 f-문자열을 사용(3.6 이상에서만 지원)할 것을추천하고 있다. 1. 옛 스타일 먼저 옛 스타일은 format_string % data 의 형태로 다른 언어에서도 흔히들 사용하는 '%'를 활용하는 방식이다. 문자열 사이에 %와 데이터 형식을 삽임함으로 간편하게 문자열 사이에 원하는 변수, 리터럴 등을 삽입할 수 있다...
대학생활 때 C언어로 재밌게 작성했던 요일 계산 프로그램을 작성해보자. 오랜만에 한가지 프로그램(아주 작은 프로그램이지만...)을 작성하는 것이라서 메소드에 대한 인수 판단 등의 각종 판단들이 잘 안서지만 그래도 연습차 한 번 작성해보았다. 1. 고려요소 가. 1년 1월 1일은 월요일이다. 나. 윤년은 4로 나눠떨어지는 연도 - 100으로 나눠떨어지는 연도 + 400으로 나눠떨어지는 연도이다(연도를 더하고 빼라는 것이 아닌 표현하자면...) 다. 윤년은 366일(2월이 기존 28일 -> 29일), 아닌 연도는 365일이다. 2. 구현 먼저 메인함수에서는 사용자로부터 연도, 월, 일을 입력받고 입력받은 정보를 토대로 Calendar 객체를 생성, 내부 메소드를 통해 요일을 계산해낸다. import java..
저번 글(MySQL 설치 및 DBeaver 연동)에 이어 이번엔 IntelliJ와 MySQL을 연동해보자. 1. MySQL 커넥터 to JAVA 설치(https://dev.mysql.com/downloads/connector/j/) 위 링크 클릭 후 Select Operating System에서 Platform Independent를 선택 후 첫번째 항목을 다운로드 하여준다. 위와 같은 창이 떴을 땐 기존과 동일하게 No thanks 눌러주면 된다. 압축파일이 다운된 모습, 더블클릭해주면 압축이 해제되고 하나의 폴더가 생성된다. 2. IntelliJ 연동 나는 지금 이미 MySQL 링크 테스트 프로젝트를 하나 생성해놓았지만 처음 하는 사람은 테스트를 위해 New Project를 눌러 테스트 해보면 된다...
맥북 구매 기념... 데이터베이스 툴인 Mysql 설치 및 DBeaver 연동하는 법을 정리해보려고 한다. 1. Mysql 홈페이지 접속하여 설치(https://dev.mysql.com/downloads/mysql/) 링크로 접속시 위와 같은 화면이 나올텐데 본인의 운영체제에 및 하드웨어에 맞는걸 다운로드 해주면 된다. 이 화면에서는 아래쪽에 있는 No Thanks 또는 아니오. 2. 설치파일 실행 이 파일을 실행시키면 개발자가 배포한 프로그램이라고 진행이 안될 때가 있는데 그럴 땐 컨트롤 + 클릭 -> 열기를 누르면 해결된다. 여기선 다른 여러 설치파일처럼 계속... 다음다음다음, 그러던 중 비밀번호를 입력하라는 창이 나오는데 거기서 입력하는 비밀번호는 나중에 MySQL 접속시 항상 필요하므로 까먹지 ..