야나도 프로젝트

나도 개발자 될수있어

java 13

난수 중복 방지 알고리즘 - 2

중복값 판단 알고리즘 (tistory.com) 중복값 판단 알고리즘 예전 로또번호 생성기 할때와 같은것인데, 로또는 전체 수중 같은것이 있으면 안되는것이고, 이번엔 바로 전수이다. 물론 같은 맥락으로 로또번호도 같은 문법으로 고칠수 있을것 같다. 1. 예전 jaemin-lim.tistory.com 바로 직전에 한 알고리즘은 바로 전 값과 중복체크를 하는 방법이었다. 로또번호같이 전체 값과 비교하는것이 바로 다음단계엿다. 마찬가지로 내가 짠것과 교재의 방법을 비교하며 하나 더 배워가자. 1. 내가 생각한 방법 - 기존 방법과 동일하다. - 기존값과 비교하는 반복문을 한번 더 돌리고, 중복값이면 i번째를 다시 하게끔 숫자를 내렸다. for (int i = 0; i < nums.length; i++) { nu..

JAVA 2021.08.16

중복값 판단 알고리즘

예전 로또번호 생성기 할때와 같은것인데, 로또는 전체 수중 같은것이 있으면 안되는것이고, 이번엔 바로 전수이다. 물론 같은 맥락으로 로또번호도 같은 문법으로 고칠수 있을것 같다. 1. 예전에 배워서 썻던 코드. -- for문이 일단 돈다. -- nums[i] 값이 nums[i-1] 값과 같으면 i를 전단계로 돌려서 다시 한번 실행하게끔 하는 방법이다. -- i값이 2이상이 되어야 된다. for (int i = 0; i 1 && nums[i - 1] == nums[i]) { i--; continue; } } 2. 교재에서 알려준 코드. - num[0]에 먼저 값을 대입한다. - 그리고 나서 반복문..

JAVA 2021.08.16

알쏭달쏭자바200제 : 읽은 갯수만큼 별찍기

읽은 갯수만큼 *을 찍어보자. 단, 5개 단위로 구분하여 찍어보자. 1차 내가 푼 방법 만약 14개를 찍어야 할 경우. 5개씩 두개를 찍고, 나머지 4개를 찍어야한다. for문을 이용해서 풀었다. public class Repeat { private static void q4_17() { int num = 14; int for1 = num / 5; int for2 = (num % 5 != 0 ? 1 : 0); for (int i = 0; i < for1; i++) { for (int j = 0; j < 5; j++) { System.out.print("*"); } System.out.println(); } if (for2 != 0) { for (int j = 0; j < num % 5; j++) { Sy..

JAVA 2021.08.14

Servlet & JSP 기초 - 2

Servlet & JSP 기초 - 2 오류 페이지 요소를 이용하면 다음과 같은 상황에서 특정 페이지가 출력되도록 제어할 수 있음 에러 (Uncaught Exceptions) : 으로 정의 특정 HTTP 상태 코드가 발생했을 때 : 로 정의 요소는 과 요소 다음에 위치해야 함 오류 페이지의 위치는 요소를 이용하여 지정한다 Filter 클라이언트가 서블릿에 요청하거나 응답할 때, 미리 요청이나 응답에 관련된 여러 작업을 수행하는 기능 - 여러 서블릿에서 반복적으로 처리해야 하는 작업들을 필터에서 처리 - 예) 유니코드 인코딩 필터의 생성 필터는 javax.servlet 패키지의 Filter 인터페이스를 구현하여 만듦 - 필터 역시 생명 주기를 가지고 있다 - init : 필터 생성시 컨테이너에 의해 호출되어..

Web Programming 2021.08.13

JAVA WEB 개발 환경 구축 및 첫 HTML

JAVA WEBS 개발 환경 구축 - 브라우저 : Chrome Chrome 웹브라우저 (google.com) Chrome 웹브라우저 더욱 스마트해진 Google로 더 심플하고 안전하고 빠르게. www.google.com - 기본 웹 브라우저 -> Chrome 선택 - TOMCAT 설치 : Apache Tomcat® - Apache Tomcat 8 Software Downloads - Tomcat 9 download. / Binary -> Core -> Win64 zip Apache Tomcat® - Apache Tomcat 8 Software Downloads Welcome to the Apache Tomcat® 8.x software download page. This page provides down..

Web Programming 2021.08.11

JAVA Hash / Java I/O Programming

Hash set -> 블록체인의 정체 java.util.HashSet 클래스로 제공 자료 구조에 포함된 자료의 순서나 키에 상관없이 자료 전체를 하나의 셋으로 관리할 수 있도록 해주는 자료 구조 해시테이블에서 키 없이 값들만 존재하는 경우 자료의 해시로 유지, 검색이 빠르다 ​ HashSet에서 사용 가능한 메서드들 add remove contains ​ ​ hash 알고리즘과 hashCode() 동일객체 : 참조주소가 같다. 동등객체 : 참조주소 ​ 객체 해시 코드란 객체를 식별할 하나의 정수값을 의미 Object의 hashCode() 메서드는 객체의 메모리 번지를 이용하여 해시 코드를 만들어 리턴 -> 모든 객체는 다른 값을 가지고 있음 Hash 관련 컬렉션들은 다음과 같은 방식으로 두 객체가 동등한..

JAVA 2021.08.11

JAVA 연산자/ 연산식 / github pull / 콘솔 입 출력

* github에 데이터가올라가잇으면 처음에 pull을 하고 시작하자 ​ 연산자(Operator) * 연산(Operation) : 데이터를 처리하여 결과를 산출하는 것 * 연산자(Operator) : 연산에 사용되는 표시나 기호 (데이터를 처리하는 기능을 수행) * 피연산자(Operand) : 연산 되는 데이터 * 연산식(Expression) : 연산자와 피연산자를 이용, 연산과정을 기술 한 것. ​ 연산자 우선순위 피연산자의 갯수에 따라 아래와 같이 나뉜다. - 단항 : 부호 변경같은 단순한 것. - 이항 : 대부분의 연산 - 3항 : 조건이 나옴 (할당연산) ​ ​ ​ 산술연산 (+,-,*,/) ​ 비교연산 (, == , etc) ​ 논리연산 ( &&, |, &&, ||, ) ​ 3항연산 (?..

JAVA 2021.08.11

JAVA 변수/자료형/식별자

예약어와 식별자 예약어 (Keyword) - 프로그래밍언어에 미리 정의된 단어. - 식별자로 사용되지 않음. 식별자 - 프로그래머가 직접 만들어주는 이름, 변수, 클래스명, 메서드명을 "명명규칙"에 따라 지정한다. - 식별자 작성 규칙 - 문자, $, _ 로 시작해야 함. - 숫자로 시작할 수 없음. - 대소문자 구분됨 ** 중요 - 예약어는 사용할 수 없음. ​ 변수와 자료형 변수(variable) - 값(데이터)를 저장하기 위한 메모리 공간 - 하나의 변수는 하나의 자료형만 지정할 수 있음. Java는 정적타입 언어이다. - 값을 저장하고, 조회하고, 변경할 수 있음. '=' 는 왼쪽의 값을 오른쪽에 전달한다. ​ 변수의 형태 * 기본형 (Primitive Data Type) ​ 기본자료형 - 정수형..

JAVA 2021.08.11

JAVA 기초 / IDE(eclipse) 설치

JAVA Keyword - Programinning Language - For Client - Server Programs (Both) - Runs on all platform -> Via Java Virtual Machine (JVM) - Syntax : Derived from C/C++ - By sun Microsystems (1991-1995) - Object-Oriented - Statically Typed ​ JAVA 특징 *Write Once , Run Everywhere *JRE(Java Runtime Environment) - 소스수정, 재 컴파일 없이 다양한 환경에서 실행 가능 *.java 코드는 컴파일러를 이용하여 바이트코드(*.class)로 컴파일된다. 이 바이트 코드는 각 OS에 맞..

JAVA 2021.08.11

프로그램기초

컴퓨터 프로그래밍 간단한 이해 * 프로그램 : 지시사항이 나열된 순서 / 예외가 나올수 있다/ 만약에~ * 컴퓨터 프로그램 : 컴퓨터에서 실행할 특정 작업을 수행사는 일련의 작업 (논리/ 구조) * 코딩 : 프로그램 언어의 명령어를 사용하여 프로그램을 작성하는 것 (구체화) Low level Language VS High level Language * 인간이 이해하기 쉬울수록 High level Language * 기계가 이해하기 쉬울수록 Low level Language - 성능에 따라 구분하는 것이 아님. 해석 방법에 따른 언어의 분류 * 컴파일러 (Compiler Language) - 소스코드를 미리 번역해두고, 필요히 즉시 실행 / 번역에 가까움 장점 : 문법, 데이터 형식의 오류를 미리 감지할수..

JAVA 2021.08.11