본문 바로가기

Coding26

003. Java의 기본 자료구조(다차원배열(달력,날짜계산)) 달력 만들기 평년 윤년 먼저 달력은 평년과 윤년이 있습니다. 따라서 이를 구분하기 위해 이차원 배열을 하나 만듭니다. static int[][]mDays = { {31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31}, }; 윤년 조건 기본적으로 4로 나누어 떨어지면 윤년입니다. 하지만 추가적인 규칙이 있습니다. 4로 나누어 떨어지지만 100으로 나누어 떨어지면 평년입니다. 하지만, 400으로도 나누어 떨어지면 윤년입니다.(예)2000년, 2400년 따라서 아래와 같이 나타낼 수 있습니다. static int leapYear(int year){ return (year % 4 == 0 && year % 100 != 0 || y.. 2020. 1. 8.
002. Java의 기본 자료구조(소수나열) 소수 나열 먼저 소수가 되는 조건을 찾으면 2부터 n-1까지의 어떤 정수로도 나누어떨어지지 않는 수 입니다. 코드로 표현하면 아래와 같이 표현할 수 있습니다. public class PrimeNumber1 { public static void main(String[] args) { int counter = 0; for(int n=2;n 2020. 1. 7.
001. Java의 기본 자료구조(reverse) reverse 진행 과정 먼저 역순으로 출력하기전에 어떤식으로 진행하는지 보겠습니다. 1 2 3 4 5 먼저 이렇게 생긴 배열이 있습니다. 맨앞에 있는 1과 5를 교환하면 아래와 같이 변합니다. 5 2 3 4 1 또 한번 교환 시키면 역순으로 만들어 진 것을 확인할 수 있습니다. 5 4 3 2 1 여기서 알 수 있는점은 교환 횟수는 배열의 크기/2 이며 i번째 배열과 (배열의 크기-i)번째값이 교환되는 것을 확인할 수 있습니다. 두 값의 교환 메소드 두 값을 교환 하기 위해서는 임시 저장 공간을 통한 교환 과정이 필요합니다. 진행 과정은 아래와 같습니다. 1. t = a[x] 2. a[x] = a[y] 3. a[y] = t 그러면 아래와 같은 메소드를 만들 수 있습니다. static void swap(i.. 2020. 1. 6.
000. Java의 기본 자료구조(배열) 배열 배열의 선언 먼저 배열을 선언 할때는 아래와 같이 선언합니다. int[] x;// 선언하기 x = new int[3];// 참조하기 x[0]=1; x[1]=5; x[2]=7; 각 요소들을 출력하기 위해서는 배열의 크기만큼 출력하기 위해 x.length를 사용합니다. for(int i=0;i 2020. 1. 6.
Raspberrypi에 MySQL연동하기 MySQL(Maria DB)설치하기 1. $sudo raspi-config 2. $sudo apt-get install mariadb-server 3. $sudo systemctl restart mariadb.service 4. $sudo mysqladmin -u root password '비밀번호' 실습 초음파센서와 mysql 연결하기 database 설정하기 table 생성 create database sensordb; use sensordb; create table sonic(stamp DATETIME(3) NOT NULL, distance INT); node.js 에서의 MySQL 연동모듈 설치 $npm install mysql 하드웨어 구성 초음파 측정센서 5v - 물리적 2번 GND - 물리적.. 2019. 11. 18.
로터리 엔코더(가변저항기)모듈 로터리 엔코더란 원리는 360도 회전, 회전 운동을 전기적 신호를 출력하는 모듈(가변저항의 원리를 이용) 회전방향과 회전정도에 따라 저항의 값이 달라지는 원리를 이용한 센서 모듈 활용범위는 마우스 휠, 스피커 볼륨, 노브와 같은 곳에서 사용합니다. 예제 코드 로터리 GND = 물리적 6번 5V = 물리적 2번 DT = 물리적 40번 wpi - 29 CLK = 물리적 38번 wpi - 28 코드 구현 const gpio = require('node-wiring-pi'); const DT = 29; const CLK = 28; var rotate = 0; const SenseRotate = function(){ var checked = 0; //오른쪽 핀(DT)가 먼저 접점이 떨어질 경우 while(gpio.. 2019. 11. 18.