본문 바로가기

프로그래밍

(133)
생성자를 포함하는 클래스의 정의 난 정말 JAVA를 공부한 적이 없다구요(윤성우 저, 오렌지미디어)에서 발췌한 문제(202p 문제 7-1) 다음 조건을 만족하는 클래스를 정의해보자 1. 어린이가 소유하고 있는 구슬의 개수 정보를 담을 수 있다. 2. 놀이를 통한 구슬의 주고받음을 표현하는 메소드가 존재한다. 3. 어린이의 현재 보유자산(구슬의 수)을 출력하는 메서드가 존재한다. 2번 조건은 두 아이가 구슬치기를 하는 과정에서 구슬의 잃고 얻음을 의미하는 것이다. 위의 조건을 만족하는 클래스를 정의하였다면, 다음 조건을 만족하는 인스턴스를 각각 생성하자. 1. 어린이 1의 보유자산 : 구슬 15개 2. 어린이 2의 보유자산 : 구슬 9개 인스턴스의 생성이 완료되면 다음의 상황을 main 메서드 내에서 시뮬레이션 한다. 1차 게임에서 어린..
소수(Prime Number) 판단 문제 난 정말 JAVA를 공부한 적이 없다구요(윤성우 저, 오렌지미디어)에서 발췌한 문제(160p 문제 6-2) 전달된 값이 소수(prime number)인지 아닌지를 판단하여, 소수인 경우 true를, 소수가 아닌 경우 false를 반환하는 메서드를 정의하고, 이를 이용해서 1이상 100이하의 소수를 전부할 수 있도록 main 메서드를 정의하자. [1] main 메서드와 isPrime 메서드를 구분해서 생각할 필요가 있다. 이 문제의 포인트는 boolean (true, false)으로만 전달되는 값을 온전한 숫자로 출력할 수 어야 한다. [2] isPrime의 반환값을 보면 boolean이다. (true 또는 false만 반환) 따라서 main 메서드에서는 소수에 해당하는 값(true)만 걸러내는 소쿠리라고..
continue와 break문의 활용 난 정말 JAVA를 공부한 적이 없다구요(윤성우 저, 오렌지미디어)에서 발췌한 문제(136p 문제 5-6) 쉬운 문제이지만(?) 한 시간 이상 고민한 문제이기 때문에 코드분석란에 넣었다. 자연수 1부터 시작해서 모든 홀수와 3의 배수인 짝수를 더해 나간다. 그리고 그 합이 언제 (몇을 더했을 때) 1000을 넘어서는지, 그리고 1000을 넘어선 값은 얼마가 되는지 계산하여 출력하라. 단, 프로그램 내에서 반복문을 필요로 한다면 반드시 while문을 무한루프로 구성해야 한다. public class test { public static void main(String[] args){ int sum=0; while(true){ for(int num=1; sum1000이 되는 순간에 문장을 출력한다.
[KATA] Triangular Treasure(삼각수) 1. triangular numbers 가 삼각형의 갯수를 의미하는 건가? 라고 생각했는데 삼각수라고 해서 삼각형 처럼 원 모양을 쌓아가다보면 공식처럼 놓여진 원의 개수를 구할 수 있게 된다. 2. 나는 저렇게 별 모양의 순서대로 표시하면 되는 줄 알았다. 그런데 그게 아니라 괄호안에 숫자만 출력하면 된다. ( ※ 단, 범위값을 벗어났을 경우 0을 출력해야 한다. ) 코드는 이렇게 간단하게 주어진다. 3. 정답은 사실 되게 간단하다return (n 4) System.out.println(n + "nd " + "(" + n*(n+1)/2 + ")"); } } } for(int i=n; i>0; i--){ System.out.print("*"); for(int j=0; j
[JAVA} 쓰레드(Thread) 2편 JAVA의 정석(2nd Edition) (남궁 성 著) 참조해 내용을 작성했으며개인적인 공부 내용을 적은 것이므로 오류가 있을 수 있습니다. 1편 http://whatisthenext.tistory.com/77 5. 쓰레드의 우선순위 쓰레드의 우선순위는 메서드와 필드로 정해줄 수 있다. void setPriority(int newPriority) : 쓰레드의 우선순위를 지정한 값으로 변경하는 메서드int getPriority() : 쓰레드의 우선순위를 반환한다 public static final int MAX_PRIORITY = 10 // 최대 public static final int MIN_PRIORITY = 1 // 최소public static final int NORM_PRIORITY = 5 //..
[JAVA] 쓰레드(Thread) 1편 JAVA의 정석(2nd Edition) (남궁 성 著) 참조해 내용을 작성했으며개인적인 공부 내용을 적은 것이므로 오류가 있을 수 있습니다. 0. 개요 운영체제(O/S) : 컴퓨터의 하드웨어를 사용하게 해주는 프로그램프로세스(process) : 현재 실행되고 있는 프로그램쓰레드(thread) : 프로세스 안에서 여러 작업들을 수행하기 위한 작업 단위 (노동자라고 생각하자) 윈도우에서 롤을 하면서 멜론으로 노래를 들을 수 있다. 롤도 프로세스, 멜론도 역시 프로세스다.이를 멀티태스킹(multi-tasking, 다중작업)이라고 한다. 멀티태스킹과 마찬가지로 멀티쓰레딩 역시 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 한다.좀 더 미시적으로 들어간거라고 생각하면 되겠다. 위 내용을 숙지하고 본론에 들어..
[JAVA TIP] 글자크기 바꾸기, 음영처리 바꾸기 1. 글자크기 키우기 2. 음영처리 바꾸기
[JAVA] 제너릭(Generic) 제너릭(Generic) 파트는 오픈튜토리얼(helloworld)에서 강의한 내용을 바탕으로 작성했습니다.(http://tryhelloworld.co.kr/courses/%EC%9E%90%EB%B0%94-%EC%A4%91%EA%B8%89/lessons/generic)4.1 이후부터는 자바의 정석(남궁성 저) 책을 이용해 내용을 작성했습니다. 처음에 자바 기본문법 공부 없이 안드로이드를 공부할 때 꺽쇠 모양 이 나와서 당황했다.'이게 맞는 존재하는 문법인가? 안드로이드에만 있는 문법인가?' 싶었다. 알아보니까 꺽쇠 모양 는 '제너릭(Generic)'을 뜻하는 거였다. 사실 없어도 상관없지만, '타입 안정성'과 '코드 간결화'때문에 쓰인다. 좀 더 자세한 내용은 아래에서 살펴보도록 하자. box 클래스를 생성..