분류 전체보기(324)
-
[명품 Java] 11장 연습문제 (기본적인 스윙 컴포넌트와 활용)
[11장 1번] 다음 중 스윙 컴포넌트가 가진 정보가 아닌 것은? 1. 컴포넌트 자신의 위치 2. 컴포넌트 자신의 배경색 3. 컴포넌트가 만들어진 시간 4. 컴포넌트의 부모 컨테이너 [11장 2번] JLabel은 어떤 목적으로 사용하는가? 1. 이미지나 텍스트 출력 2. 이미지만 출력 3. 이미지, 텍스트, 버튼 출력 4. 텍스트만 출력 [11장 3번] "java.jpg"를 가진 JLabel 컴포넌트를 생성하는 간단한 코드이다. 빈칸을 채워라 ___________ icon = new ___________("java.jpg"); JLabel label = new JLabel(); label.___________(icon); >> 풀이 ImageIcon icon = new ImageIcon("java.jpg..
2021.12.21 -
[명품 Java] 10장 실습문제 (자바의 이벤트 처리)
[10장 1번] JLabel 컴포넌트는 Mouse 이벤트를 받을 수 있다. JLabel 컴포넌트에 마우스를 올리면 "Love Java"가, 내리면 "사랑해"가 출력되도록 스윙 응용프로그램을 작성하라 package Java10_1; import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class Java10_1 extends JFrame{ private JLabel la = new JLabel("사랑해"); Java10_1(){ super("마우스 올리기 내리기"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);..
2021.12.20 -
[명품 Java] 10장 연습문제 (자바의 이벤트 처리)
[10장 1번] 자바의 이벤트 기반 프로그래밍에 대한 설명으로 틀린 것은? 1. 이벤트 분배 스레드가 존재한다 2. AWT나 스윙 응용프로그램은 이벤트 기반 응용프로그램이다 3. 키 이벤트를 처리하는 도중 마우스 이벤트가 발생하면, 마우스 이벤트를 처리한 뒤 중단시킨 키 이벤트 처리를 계속 한다 4. 컴포넌트마다 처리할 수 있는 이벤트가 서로 다르다 [10장 2번] MouseEvent 객체가 제공하지 않는 정보는 무엇인가? 1. 이벤트 소스 2. 마우스 클릭된 화면 좌표 3. 클릭된 마우스 버튼 번호 4. 마우스 드래깅 길이 [10장 3번] 다음 프로그램 코드를 익명 클래스를 이용하여 다시 작성하라 JButton btn = new JButton("Hello"); btn.addActionListener(n..
2021.12.20 -
[명품 Java] 9장 실습문제 (자바 GUI 기초 / AWT와 스윙)
[9장 1번] "Let's study Java"라는 문자열을 타이틀로 가지고 프레임의 크기가 400x200인 스윙 프로그램을 작성하라. package Java9_1; import javax.swing.*; public class Java9_1 extends JFrame{ Java9_1(){ super("Let's study Java"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400, 200); setVisible(true); } public static void main(String[] args) { Java9_1 test = new Java9_1(); } } [9장 2번] BorderLayout을 사용하여 컴포넌트 사이의 수평 수직 간격이 ..
2021.12.19 -
[명품 Java] 9장 연습문제 (자바 GUI 기초 / AWT와 스윙)
[9장 1번] 자바에서는 AWT 컴포넌트와 스윙 컴포넌트를 제공한다. 이들 중 어떤 것이 경량 컴포넌트이고, 어떤 것이 중량 컴포넌트인가? 그리고 차이점은? - awt 컴포넌트가 중량 컴포넌트이고, swing 컴포넌트가 경량 컴포넌트이다. - awt는 해당 운영체제의 gui를 빌려 쓰는거라서 운영체제에 따라 배치나 모양이 다르고 속도가 빠르다. 하지만 운영체제에 따라 버그가 발생한다 - swing은 운영체제의 자원을 빌리지 않고, 직접 화면에 그려서 운영체제간에 버그를 해결한다. 자바언어로만 구성되어 있고 속도가 느리다 [9장 2번] 데스크톱에서 실행되는 GUI 응용프로그램 작성 시 AWT보다 스윙 사용을 권장하는 이유는? - swing은 운영체제와 관계없이 항상 동일하게 작동하고, 동일한 모양으로 나타..
2021.12.19 -
[Data Structure] LPT 알고리즘 (히프)
머신 스케줄링 - 동일한 기계 m개, 처리해야 하는 작업 n개가 존재 모든 기계를 가동해서 가장 최소의 시간 안에 작업을 모두 끝내는 것 = 머신 스케줄링 - 각 작업마다 완료까지 걸리는 시간이 다름 종료 시간이 최소인 기계를 선택 해당 기계에 작업시간이 최대인 작업을 할당한다 ▶ LPT 알고리즘 - ex) 여러 서버에 작업을 분배 할 경우, 가장 효율이 좋은 최적의 해(근사의 해)를 찾는 알고리즘 - 항상 종료시간이 최소인 기계를 선택 → 최소 히프를 통해서 구현 ----------------------------------------------------------------------------------------------------------- 기계들을 최소 히프에 전부 insert 최소 히프..
2021.12.19 -
[Data Structure] 히프 정렬
히프 정렬 (최대 히프) - n개의 요소를 O(nlog₂n)시간 안에 정렬 - 정렬되지 않은 배열 element a[]에 대하여 배열 a의 data들을 최대 히프에 차례대로 추가 최대 히프에서 data들을 하나씩 꺼내서 배열 a의 맨 뒤쪽부터 저장 배열 a에 대한 히프 정렬 완료 void heap_sort(element arr[], int len) { heapnode* h; h = create(); init_heap(h); for (int i = 0; i = 0; i--) { arr[i] = delete_node(h); } free(h); // 히프 동적 할당 해제 } Full Code..
2021.12.19 -
[Data Structure] 우선순위 큐 (히프)
우선순위 큐 (priority queue) - 일반적인 큐 : FIFO(First In First Out)구조 - 우선순위 큐 : 우선순위가 높은 데이터가 먼저 나간다 시뮬레이션 시스템, 네트워크 트래픽 제어, 작업 스케쥴링, 수치해석계산 등에 사용 자료구조 삭제되는 요소 Stack 가장 늦게 들어온 데이터 (LIFO) Queue 가장 먼저 들어온 데이터 (FIFO) Priority Queue 가장 우선순위가 높은 데이터 (Priority) 구현 방법 - 배열 / 연결리스트 / 히프 표현 방법 삽입 삭제 정렬 안된 배열/연결 리스트 O(1) O(n) 정렬 된 배열/연결 리스트 O(n) O(1) 힙 O(log n) O(log n) - 만약 n이 1000일 경우 O(n) : 1000초 / O(log₂n) :..
2021.12.18 -
[명품 Java] 8장 실습문제 (입출력 스트림과 파일 입출력)
[8장 1번] Scanner로 입력받은 이름과 전화번호를 한 줄에 한 사람씩 c:\temp\phone.txt 파일에 저장하라. "그만"을 입력하면 프로그램을 종료한다 package Java8_1; import java.io.*; import java.util.*; public class Java8_1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); FileWriter fw = null; System.out.println("전화번호 입력 프로그램입니다."); try{ fw = new FileWriter("c:\\Temp\\phone.txt"); while(true){ System.out.print("이름 전화번호..
2021.12.17 -
[명품 Java] 8장 연습문제 (입출력 스트림과 파일 입출력)
[8장 1번] 스트림에 대한 설명으로 틀린 것은? 1. 입출력이 동시에 되는 스트림은 없다 2. 스트림은 다른 스트림과 연결될 수 없다 3. 스트림은 먼저 들어온 데이터를 먼저 내보내는 방식이다 4. 스트림은 바이트를 다루는 스트림과 문자만 다루는 스트림으로 나누어진다 [8장 2번] 다음 응용에서 어떤 입출력 스트림 클래스를 사용하여야 하는가? (1) 음악 파일 연주 - 바이트 스트림 (2) ppt 파일 복사 - 바이트 스트림 (3) 영어와 한글이 기록된 사전 읽기 - 문자 스트림 / 바이트 스트림 (4) 선수 이름과 점수를 문자열로 저장 - 문자 스트림 / 바이트 스트림 [8장 3번] 이미지 파일을 읽으려고 한다. 가장 적합한 클래스는? 1. InputStreamReader 2. File 3. File..
2021.12.17 -
[Java] File 클래스
File 클래스 - 파일이나 디렉터리에 대한 경로명, 크기, 타입, 수정 날짜,.. 등 속성 정보 제공 - 파일이나 디렉터리에 대한 파일 삭제, 디렉터리 생성, 파일 이름 변경,... 등 파일 관리 작업 지원 File(String pathname) : pathname의 완전 경로명이 나타내는 File 객체 생성 File(String parent, String child) : parent 디렉터리에 child 이름의 서브 디렉터리/파일을 나타내는 File 객체 생성 File(File parent, String child) : parent 디렉터리에 child 이름의 서브 디렉터리/파일을 나타내는 File 객체 생성 File(URI url) : file:URI를 추상 경로명으로 변환하여 File 객체 생성 ..
2021.12.17 -
[Java] 버퍼 입출력
버퍼 - 데이터를 잠시 저장하기 위한 메모리 - 시스템의 속도나 효율 상승 입력 버퍼 스트림 BufferedReader / BufferedInputStream BufferedReader(Reader in) : in을 연결하는 디폴트 크기(16384byte)의 문자 입력 버퍼 스트림 생성 BufferedReader(Reader in, int size) : in을 연결하는 size 크기의 문자 입력 버퍼 스트림 생성 BufferedInputStream(InputStream in) : in을 연결하는 디폴트 크기(2048byte)의 입력 버퍼 스트림 객체 생성 BufferedInputStream(InputStream in, int size) : in을 연결하는 size 크기의 입력 버퍼 스트림 객체 생성 Bu..
2021.12.17