우선 다음 소스는 Java용 소스를 //// 표시가 붙은 줄 한 줄만 수정하여 Groovy영 소스로 고친 것이다.
[파일명: testStringFindApp.groovy]------------------------------------------------
import java.util.*;
public class TestStringFindApp {
public static void main(String[] args) {
String[] words = [ "하나", "둘", "셋", "넷", "다섯", "여섯" ] as String[]; ////
int where;
System.out.print("array: ");
printArray(words);
where = find(words, "셋");
if (where > 0) {
System.out.print("발견! ");
System.out.println("Next word of 셋 in array: " + words[where+1]);
}
System.out.println("Sorting...");
Arrays.sort(words);
System.out.print("array: ");
printArray(words);
where = find(words, "셋");
if (where > 0) {
System.out.print("발견! ");
System.out.println("Next word of 셋 in array: " + words[where+1]);
}
}
static int find(String[] arr, String s) {
for (int i = 0; i < arr.length; i++) {
if (arr[i].indexOf(s) >= 0)
return i;
}
return -1;
}
static void printArray(String[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length - 1; i++) {
System.out.print(arr[i] + ", ");
}
if ( arr.length > 0)
System.out.print(arr[arr.length - 1]);
System.out.println("]");
}
}
------------------------------------------------
실행> groovy testStringFindApp.groovy
array: [하나, 둘, 셋, 넷, 다섯, 여섯]
발견! Next word of 셋 in array: 넷
Sorting...
array: [넷, 다섯, 둘, 셋, 여섯, 하나]
발견! Next word of 셋 in array: 여섯
그리고 다음 소스는 위의 Groovy용 소스를 더 Grovy 소스 코드답게 짧게 만든 것이다.
[파일명: testStringFindApp.groovy]------------------------------------------------
def find(String[] arr, String s) {
for (int i = 0; i < arr.length; i++) {
if (arr[i].indexOf(s) >= 0)
return i;
}
return -1;
}
def printArray(String[] arr) {
print("[");
for (int i = 0; i < arr.length - 1; i++) {
print(arr[i] + ", ");
}
if (arr.length > 0)
print(arr[arr.length - 1]);
println("]");
}
String[] words = [ "하나", "둘", "셋", "넷", "다섯", "여섯" ] as String[]
int where
print("array: ")
printArray(words)
where = find(words, "셋")
if (where > 0) {
print("발견! ")
println("Next word of 셋 in array: " + words[where+1])
}
println("Sorting...")
Arrays.sort(words)
print("array: ")
printArray(words)
where = find(words, "셋")
if (where > 0) {
print("발견! ")
println("Next word of 셋 in array: " + words[where+1])
}
------------------------------------------------
실행> groovy testStringFind.groovy
array: [하나, 둘, 셋, 넷, 다섯, 여섯]
발견! Next word of 셋 in array: 넷
Sorting...
array: [넷, 다섯, 둘, 셋, 여섯, 하나]
발견! Next word of 셋 in array: 여섯
'프로그래밍 > Groovy' 카테고리의 다른 글
스트링 리스트에서 스트링 찾기(find) with Groovy (0) | 2009.04.22 |
---|---|
스트링 벡터에서 스트링 찾기(find) with Groovy (0) | 2009.04.22 |
스트링 배열 정렬(sorting)하기 with Groovy (0) | 2009.04.15 |
Pollard's rho method 소개: 정수의 인수분해(factorizing integers) with Groovy (0) | 2009.03.24 |
손으로 계산하는 긴자리 곱셈표 만들기 with Groovy (0) | 2009.03.06 |