'java'에 해당되는 글 5건

  1. 2011.05.30 quick sort - Java
  2. 2011.05.17 binary search - Java
  3. 2011.04.16 [Java] Spring 개발환경 갖추기
  4. 2010.02.23 java BigDecimal 사칙연산
  5. 2010.02.10 String vs StringBuffer
Computer Science/Algorithm2011. 5. 30. 15:37
Java로 퀵소트를 구현해봤다. 이전에 포인터로 구현을 했을때랑 재귀함수 파라미터에 대한 접근법이 달라서 약간 헷갈렸다.

@Test
public void main(){
int[] x = new int[10];
for (int i = 0; i < x.length; i++) 
x[i] = (int) (Math.random() * x.length);
quicksort(0, x.length-1, x);
}

private void quicksort(int l, int u, int[] x) {
if(u <= l)
return;
int m = l;
for(int i = l + 1; i <= u; ++i) 
if(x[l] > x[i])
swap(++m, i, x);
swap(m, l, x);
quicksort(l, m-1, x);
quicksort(m+1, u, x);
}

private void swap(int a, int b, int[] x) {
int temp = x[a];
x[a] = x[b];
x[b] = temp;
}







'Computer Science > Algorithm' 카테고리의 다른 글

Quick Select - Find k-th item in an unsorted array.  (0) 2014.06.29
quick sort - c  (0) 2011.05.30
insertion sort - c  (0) 2011.05.28
insertion sort - Java  (0) 2011.05.26
binary search - Java  (0) 2011.05.17
Posted by 준피
Computer Science/Algorithm2011. 5. 17. 20:50
java로 이진탐색을 구현했는데 익숙해서인지 금방 끝났다. 새로운 패키지 만들기 귀찮아서 JUnit 으로 메소드를 생성했다.

@Test

public void main()
{
int n = 10;
int x[] = scaffolding(n);
int k = 70;
int result = binarySearch(x, n, k);
System.out.println(result);
}

public int[] scaffolding(int n)
{
int x[] = new int[n];
for(int i = 0; i < n; ++i)
x[i] = i * 10;
return x;
}

public int binarySearch(int[] x, int n, int k)
{
int l = 0; int u = n - 1; int m;
while(true) {
m = (l + u) / 2;
if(l > u)
return -1;
if(x[m] == k)
return m;
else if (x[m] > k)
u = m - 1;
else if (x[m] < k)
l = m + 1;
}
}


'Computer Science > Algorithm' 카테고리의 다른 글

insertion sort - c  (0) 2011.05.28
insertion sort - Java  (0) 2011.05.26
binary search - c  (0) 2011.05.16
반전 알고리즘  (0) 2011.05.12
도형 내부 채우기  (0) 2011.05.11
Posted by 준피
Server-Side/Java2011. 4. 16. 20:58
이클립스 Helios Service Release 1을 설치를 한다. 이클립스 다운로드


다음의 플러그인을 설치한다.

Help -> Install New Software

각 플러그인은 설치할때마다 이클립스를 재시작해줘야 꼬이지 않는다.

메이븐 플러그인  
m2eclipse 다운로드 (war 파일로 자동 배포해주는 툴) 
다운로드 apache-maven (이클립스 디렉토리 안에 바이너리 파일을 다운받아서 압축을 푼다.)
시스템변수를 확인하고 없으면 추가한다.
(생성)JAVA_HOME => C:\Program Files\Java\jdk1.6.0_22
(생성)MAVEN_HOME => C:\eclipse\apache-maven-3.0.1-bin\apache-maven-3.0.1 (바이너리 파일 압축 푼 폴더)
(추가)Path => ;%MAVEN_HOME%\bin
시스템 재시작

커맨드 창을 열고 버전이 나오면 정상이다.
> mvn -version
Apache Maven 3.0.1 .....
...
...

이클립스를 실행하고 프로젝트 루트에서 우클릭 후,
'Run as' -> 'Maven Install' 을 클릭한다.
이것저것 다운받은 뒤에 마지막 즈음에 "[INFO] BUILD SUCCESS"를 보면 성공이다.

서브버전 플러그인 
subversive 다운로드 (밑에 Early Access 부분의 Update-site 참고 or Helios Release 부분의 UPdate-site 참고)
로컬컴퓨터에서 Update를 받을때마다 이클립스에서는 자동으로 반영된다.

vim 플러그인 
vrapper 다운로드 (개인적으로 gVim을 쓰던 습관으로 설치함)

스프링 플러그인 


로컬 서버 추가
이클립스 디렉토리 안에 바이너리 파일을 다운받아서 압축을 푼다.

Window -> Preferences -> Server -> Runtime environment -> Add

프로젝트를 생성하고 WebContent  밑에 index.jsp를 생성하고 실행한다.
 
에러가 없다면 성공이다.
Posted by 준피
Client-Side/Android2010. 2. 23. 10:26
Float이나 Double로 사칙연산을 하는 경우 정확한 값을 얻지 못할 때가 있고,
이는 소수점 이하의 값을 제대로 읽지 못하기 때문이다.

예를 들어 0.2 * 0.4 의 결과가 0.0800000005 이렇게 나오는 경우이다.

이럴때는 BigDecimal을 이용하자.
java.math.BigDecimal 을 import해야한다.

// 예제에서는 String 타입을 인자로 넣었다.
BigDecimal preNum = new BigDecimal("6");
BigDecimal postNum = new BigDecimal("2");

// 곱하기
mutipleResult = preNum.multiply(postNum);
// 나누기, 반올림해서 소수점 둘째자리까지 보여준다.
divideResult = preNum.divide(postNum, 2, BigDecimal.ROUND_UP);
// 더하기
addResult = preNum.add(postNum);
// 빼기
subtractResult = preNum.subtract(postNum);

'Client-Side > Android' 카테고리의 다른 글

계산기  (0) 2010.02.28
api key 확인  (0) 2010.02.19
사칙연산 정규식(Regular Expression, Java)  (0) 2010.02.15
String vs StringBuffer  (0) 2010.02.10
안드로이드 개발환경 세팅(JDK, Eclipse, Android SDK)  (0) 2010.02.06
Posted by 준피
Client-Side/Android2010. 2. 10. 22:23

Java에서 String은 Object로서 넣은 값을 변경할 일이 별로 없는 경우 쓰인다.

즉, 상수로 쓰기 쉽다는 말이고 final을 붙여서 선언을 해도 괜찮다고 생각한다.

 

String c = "STRING"; 를 C에서는 이렇게 표현한다.

char *c = "STRING";

StringBuffer는 값을 변경할 수 있는 문자열을 다룰 때 쓰이는 편이 좋다.


StringBuffer c; 를 C에서는 이렇게 표현할 수 있다.
char c[128];
c[3] = 'I';

'Client-Side > Android' 카테고리의 다른 글

java BigDecimal 사칙연산  (0) 2010.02.23
api key 확인  (0) 2010.02.19
사칙연산 정규식(Regular Expression, Java)  (0) 2010.02.15
안드로이드 개발환경 세팅(JDK, Eclipse, Android SDK)  (0) 2010.02.06
출발!  (0) 2010.02.06
Posted by 준피