※ 표 만들기 : 태그 안에 행 수 만큼 태그를 써주고, 그 내부에 각 행의 열 수 만큼 태그를 써준다. ex) 1행 1열 1행 2열 2행 1열 2행 2열 실행 결과 >> 활용 예제) 이름, 이메일, 전화번호를 입력받는 주소록을 만들고, 완료 버튼을 눌렀을 때, 이름을 입력하지 않았거나 입력한 이메일에 '@' 기호가 없는 경우 경고 메시지를 띄우기 주소록 // 표 작성 이름 이메일 전화번호 핸드폰 집 직장 실행 결과>> 이름을 입력하지 않은 경우 -> 이메일에 '@' 기호가 없는 경우 -> 바르게 작성하고 완료 버튼을 눌렀을 때 -> 활용 예제2) 판매 상품의 사진과 가격을 표시하고, 선택한 상품의 금액을 출력하기 상품 선택 노트북 800,000원 아이패드..
이번 포스트에서는 Form 객체의 하위 객체들을 다뤄본다. [Text 객체] : 으로 표현 ex) 이름 : 나이 : 주소 : text 객체를 3개 만들어 각각 이름, 나이, 주소를 입력한 다음 확인 버튼을 누르면 printInfo() 메소드가 실행된다. text 객체에 입력한 값을 가져오려면 우선 form 객체의 이름 f1을 적고 그 내부 객체 Name / Age / Addr의 이름을 적은 다음 그 내부의 value 값을 얻으면 된다. (ex: document.f1.Name.value) [Password 객체] : 입력한 값이 ● 로 보여 암호 입력 시 사용한다. 속성, 메소드는 Text 객체와 거의 동일하다. [Textarea 객체] : 여러 줄을 입력..
[Window 객체] [Navigator 객체] : 현재 사용하고 있는 브라우저의 버전을 파악하는 데에 중요한 객체 Window 객체와 다르게 홀로 독립되어 있다. [String 객체] [Document 객체] [History 객체] [Location 객체] [Image 객체] ex) img1과 img2의 이름 사용 시에는 document를 생략해도 되지만 이미지들의 총 명칭 images를 사용하려면 document를 붙여야 한다. [Link 객체] : HTML의 태그에 해당하는 정보를 가지는 객체 document.links 배열에 링크들의 값을 가지고 있음 [Anchor 객체] : ~ 로 지정된 링크의 정보를 가지고 있는 객체 #을 포함하여 쓰면 밑 부분에 반드시 태..
선택 정렬(Selection Sort) : 선택 정렬은 기준 값의 오른쪽에 위치한 값들 중 최솟값을 찾아, 기준 값과 최솟값을 swap하는 방식의 정렬이다. 맨 끝 값은 기준 값으로 잡지 않는다. 즉, 배열의 [0] 값부터 끝에서 두 번째 값까지를 기준 값으로 잡는다. 일반적으로 시간복잡도는 O(n²)이다. import java.io.*; public class Main { static void SelectionSort(int[] arr, int cur, int last) { int smallest = cur; // 기준 값의 오른쪽 값들 중 최솟값 찾기 for(int walker=cur+1; walker
삽입 정렬(Insertion Sort) : 삽입정렬은 현재 가리키는 값을 기준으로 앞에 있는 값들과 한 칸씩 크기 비교를 하여 알맞은 위치에 해당 값을 삽입하는 정렬 방식이다. 첫 번째 특징으로는 배열의 [0]은 비워 둔다. 그러므로 정렬할 값들은 배열의 [1]에서부터 저장한다. 두 번째 특징으로는 두 번째 값부터 기준으로 잡아 정렬을 한다. [1]에서부터 저장했으므로 [2]값부터 기준으로 잡는다. 일반적으로 시간복잡도는 O(n²)이다. import java.io.*; public class temp { static void InsertionSort(int[] arr, int n) { int temp=0; for(int i=2; i temp) {// 기준 값이 들어갈 위치를 찾음 arr[j+1] = ar..
[직렬화] : 객체를 스트림(=연속적인 데이터)으로 만드는 것 객체의 모든 인스턴스 변수들의 값을 일렬로 나열하는 것 => 객체의 내용을 저장했다가 꺼내 쓸 수 있도록 하기 위함 객체를 저장하기 위해서는 객체를 직렬화해야 한다. -> 객체를 저장하는 것과 객체를 직렬화하는 것은 같은 의미로 볼 수 있다. 객체를 저장하기 위한 파일의 확장자명은 주로 .ser를 사용한다. 직렬화 : ObjectOutputStream 객체의 writeObject() 메소드를 이용 역직렬화 : ObjectInputStream 객체의 readObject() 메소드를 이용, 이 때 반환타입은 Object이므로 본래 객체 타입으로 형변환 해주어야 함 자동 직렬화/역직렬화 메소드 : defaultWriteObject() / defau..
1. 좀 더 쉬운 버전 public class MergeSort { static void merge(int arr[], int first, int last) { int sort[] = new int[arr.length];// arr의 값들을 정렬하여 저장할 배열 생성 int mid = (first + last) / 2; int leftidx = first;// arr의 왼쪽 부분을 움직이는 index int rightidx = mid + 1;// arr의 오른쪽 부분을 움직이는 index int sortidx = first;// sort 배열의 index System.out.println("merge() 실행 - first:"+first+", last:"+last); while (leftidx
[문자 스트림] : 유니코드 문자를 입출력하는 스트림 -> 이미지, 동영상과 같은 바이너리 데이터는 입출력 불가능 Reader / Writer : 문자 스트림을 다루는 모든 클래스의 부모 클래스 추상 클래스 InputStreamReader / OutputStreamWriter : 문자 스트림과 바이트 스트림을 연결시켜주는 역할을 함 InputStreamReader : 바이트를 읽어 문자로 인코딩하여 입력 OutputStreamWriter : 문자를 바이트로 디코딩하여 출력 텍스트 파일의 인코딩 형식이 ANSI이면 한글을 잘 읽어오지만, 인코딩 형식이 UTF-8/유니코드 이면 글자가 깨져서 출력된다. -> 문자 스트림을 이용해 해결! ex) UTF-8 형식의 텍스트 파일 내용 출력하기 package Str..